AI Anime Sommelier

Personalized anime recommendation chatbot built on a multi-agent RAG pipeline (Ongoing)

Overview

Built AI Anime Sommelier, a Thai-language LINE chatbot that gives hyper-personalized anime recommendations by building a per-user “Taste DNA” profile from their real MyAnimeList watch history — going beyond keyword matching to explain why a title fits, and even flag popular titles that likely won’t.


Project Context

Technical Approach

  • Multi-Agent Pipeline (LangGraph): Three sequential agents — a Taste DNA Analyzer (built from MAL watch history via OAuth 2.0), a Smart Search agent (semantic search over anime embeddings), and a Personalized Sommelier agent that generates the final recommendation and reasoning
  • Semantic Search: Query and anime metadata embedded with Google Gemini, matched via pgvector HNSW similarity search
  • Large-Scale Data Processing: PySpark over a ~150M-row ratings dataset and Pandas over ~28K anime metadata records to precompute recommendation features
  • Async API & Background Processing: FastAPI gateway with Celery-backed background tasks and Redis for caching and rate limiting

Key Features

  • Taste DNA Profiling: Learns a user’s actual preferences from their MAL history, not just stated genres
  • Personalized Reasoning: Explains why a recommended title fits a specific user
  • Anti-Recommendations: Flags popular titles a user likely won’t enjoy, based on their taste profile
  • LINE-Native: Delivered as Flex Messages inside a LINE Official Account

Technologies Used

Category Tools
Backend Python, FastAPI, Celery
AI / LLMs LangChain, LangGraph, Google Gemini
Data PostgreSQL + pgvector, Redis, PySpark, Pandas
Messaging LINE Messaging API (Flex Messages)
Deployment Docker, AWS EC2, Nginx, GitHub Actions