demo.mp4
Movies++ is a movie recommendation application that makes use of GenAI to recommend movies based on natural language input. It is built on DataStax Astra and was demoed at CascadiaJS and DataStax's RAG++ AI Hack Night.
To get started with this project and run it locally, follow the steps below:
- Clone the repository
- Change directory (
cd
) into the cloned repository - Install dependencies with
pnpm install
- Rename
.env.example
to.env
and fill in the required environment variables- To fill this in, you'll need the following accounts:
- DataStax Astra
- DataStax Langflow
- OpenAI
- TMDB (Optional, just for trailers)
- To fill this in, you'll need the following accounts:
- Finally, run the project with
pnpm run dev
From here, you'll be able to run the project locally, develop against it, add features, or whatever you'd like.
Once you've populated .env
with your API keys, make sure you have a collection in your Astra database named "movies". Once all those pieces are in place, you can run the following command to ingest the data:
# Navigate to our scripts
cd ./scripts
# Install dependencies
pip install -r requirements.txt
# Run the script
python load_movies.py
When this script runs, it will ingest the data from TMDB into your Astra database. This will allow you to search for movies and get recommendations based on the data you've ingested.
To use RAG with Langflow, you'll need to run Langflow. You can either do this as a hosted cloud solution on DataStax, or follow the Langflow documentation to get started running it locally.
We accept pull requests and issues on this project. If you've got ideas, please open an issue first and discuss it with us and ideally it becomes a pull request that we open together. All contributions are welcome!
If you'd like to contribute but don't know where to start, feel free to check out the open issues on this repository.