A production-grade CLI Chatbot that answers questions about 45,000+ movies using LangGraph, Google Gemini, and FAISS.
- Structured Queries: Accurate answers for budget, revenue, release dates, and cast.
- Semantic Search: Find movies by plot, theme, or vague description (e.g., "movies about time travel").
- Multi-turn Conversations: Maintains context (e.g., "Who directed it?").
- Local Vectors: Uses FAISS and HuggingFace embeddings (efficient, no extra API costs).
- Dataset:
movies_metadata.csv,keywords.csv,credits.csvin thedataset/directory. - Google API Key: Needed for the Chatbot.
This method handles all dependencies and data processing automatically inside a container.
-
Setup Environment Create a
.envfile:GOOGLE_API_KEY=your_api_key_here
-
Run the Bot
docker-compose run --rm movie-bot
The container will automatically check for processed data. If missing, it will process the CSVs (takes ~2-3 mins) before starting the chat.
-
Interact The chatbot will start in your terminal. Type
quitto exit.
-
Install Python 3.11+
-
Install Dependencies
pip install -r requirements.txt
-
Setup Environment Create a
.envfile:GOOGLE_API_KEY=your_api_key_here
-
Process Data (One-time setup)
python src/data_processor.py
-
Run the App
python main.py
- LLM: Google Gemini 1.5 Flash.
- Agent: LangGraph StateGraph.
- Vector Store: FAISS with
all-MiniLM-L6-v2embeddings.