Movies++

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.

Getting Started

To get started with this project and run it locally, follow the steps below:

  1. Clone the repository
  2. Change directory (cd) into the cloned repository
  3. Install dependencies with pnpm install
  4. Rename .env.example to .env and fill in the required environment variables
  5. 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.

Ingesting the Data

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.

Working with Langflow

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.

Contributing

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!

Contribution Ideas

If you'd like to contribute but don't know where to start, feel free to check out the open issues on this repository.