Movie Agent Service

Production-grade core library for AI-powered movie discovery and analysis. Implements RAG-based semantic search using FAISS vector store, tool-calling agent architecture with LangChain (chosen over ReAct for reliability), computer vision poster analysis with BLIP model, interactive quiz generation, and session-based memory management. Built with Python following SOLID principles, dependency injection, and factory patterns for maintainability and extensibility. Designed for production use with proper error handling, logging, and modular architecture.

AI/LLM Completed 1 months
Movie Agent Service

Technology Stack

Python LangChain OpenAI FAISS BLIP Transformers RAG Vector Search Embeddings Tool-calling Agents Pandas NumPy Sentence Transformers Hugging Face OOP Design Patterns Dependency Injection Factory Pattern

Key Results

Chose tool-calling agent architecture over ReAct for production-grade reliability and deterministic tool execution
Architecture Decision
FAISS-based semantic search enables fast similarity search for movie discovery using OpenAI embeddings
Vector Store
RAG pipeline combines vector search with LLM reasoning for accurate and contextual movie recommendations
Rag Implementation
BLIP model provides poster analysis, title identification, mood detection, and genre inference from visual elements
Vision Capabilities
Session-based state management maintains conversation history, quiz progress, and poster context across user interactions
Memory System
Multiple interactive quiz types with question generation, answer validation, and score tracking
Quiz System
Natural language queries support year filters, genre searches, actor/director lookups, and similarity recommendations
Search Features
Modular tool architecture includes movie_search, get_similar_movies, get_movie_statistics, and poster_analysis tools
Tool System
SOLID principles with single responsibility, dependency inversion, factory pattern, and interface segregation
Design Patterns
Clean architecture allows easy addition of new tools, LLM providers, and search capabilities
Extensibility
Comprehensive error handling, logging, and configuration management for deployment scenarios
Production Readiness

Challenges & Solutions

  • Implementing RAG (Retrieval-Augmented Generation) pipeline with FAISS vector store for semantic movie search across large datasets
  • Designing and implementing tool-calling agent architecture using LangChain, evaluating against ReAct pattern for production reliability
  • Integrating BLIP (Bootstrapping Language-Image Pre-training) model for computer vision-based movie poster analysis and genre inference
  • Creating session-based memory management system to maintain conversational context and quiz state across interactions
  • Building interactive quiz generation system with multiple question types (multiple choice, true/false, fill-in-the-blank)
  • Implementing semantic similarity search using OpenAI embeddings to find movies similar to user queries or uploaded posters
  • Designing modular OOP architecture with dependency injection for flexible LLM provider switching (Groq, OpenAI)
  • Creating factory pattern for agent initialization with configurable tools and memory systems
  • Handling edge cases: year-specific queries with intelligent filtering, genre-based recommendations, actor/director searches
  • Ensuring proper separation of concerns: vector store operations, agent reasoning, tool execution, and memory management
  • Optimizing vector search performance for fast retrieval from large movie databases
  • Implementing automatic deduplication and filtering of search results to match exact user criteria

Project Stats

1
Team Member
1
Month