A cutting-edge movie database application powered by AI, developed using Node.js, and Neo4j. The application leverages LangChain4j to support natural language queries, enabling users to receive personalized recommendations, explore interactive graph visualizations, and dynamically navigate data. With an intuitive interface, users can easily discover movies, actors, genres, and directors. Designed with scalable architecture and strong security, the platform offers a seamless, engaging, and highly personalized movie discovery experience.
- Neo4j database
- OpenAI gpt-3.5-turbo
- LangChain
- Query example:
MATCH p=()-[:IN_GENRE]->() RETURN p LIMIT 25;
- Demo
script_demo.mp4
1. Clone this repo to your folder:
git clone https://gitlab.extrawest.com/i-training/flutter/hybrid-search-and-graphdb-rag
2. Change current directory to the cloned folder:
cd hybrid-search-and-graphdb-rag
3. Install dependencies:
npm install
4. add .env file:
In the root of the project file create .env file and add the following variables:**
NEO4J_URI = "YOUR_NEO4J_DATABASE_URI"
NEO4J_USER = 'YOUR_NEO4J_DATABASE_NAME' //usaualy neo4j
NEO4J_PASSWORD = "YOUR_NEO4J_DATABASE_PASSWORD"
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
3. Upload Dataset to Neo4j:
run upload_graphs.js
file in the root of the project. The data will be uploaded to Neo4j
4. Search movies:
To start server, just run node index.js
.
Now you can use the app
Created by Oleksandr Samoilenko
Extrawest.com, 2024