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 Langflow 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.
This repo comes with a langflow.config
file. Create a project in DataStax Langflow, and then import it from the Langflow UI.
From there, fill in any API keys required for OpenAI and such, and you should be able to run the flow. Finally, be sure to change the Langflow API endpoint to point to your instance in the Ai.tsx
file.
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.