This workflow builds a Retrieval-Augmented Generation (RAG) powered movie recommender chatbot by combining Qdrant Vector Database with OpenAI models. It loads IMDBโs Top 1000 movies from GitHub, embeds their descriptions, stores them in Qdrant, and enables an interactive chat-based interface to recommend movies based on user preferences. The chatbot understands both positive examples (movies you like) and negative examples (movies you dislike) to provide tailored recommendations.
Key Features
- ๐ Data Ingestion: Fetches IMDB Top 1000 movies CSV from GitHub.
- ๐งพ Data Processing: Extracts movie names, release years, and descriptions for vectorization.
- ๐ค OpenAI Embeddings: Creates vector representations of movie descriptions using
text-embedding-3-small
. - ๐๏ธ Qdrant Integration: Stores and queries embeddings in a Qdrant collection for similarity-based recommendations.
- ๐ฌ Chatbot Interface: Allows users to request recommendations via chat input.
- ๐ง AI Agent Orchestration: Uses an OpenAI LLM (
gpt-4o-mini
) with memory and tools for dynamic conversation handling. - ๐ฏ Personalized Recommendations: Combines positive and negative examples to refine suggestions.
- ๐ Top-3 Results: Returns the three most relevant movies with metadata (title, year, description).