AvaDocs — AI Research Assistant
FeaturedRAG-powered document analysis with a personality
Problem Statement
Generic chatbots hallucinate and can't be trusted to answer questions about specific documents. Users need a way to have a focused, grounded conversation with their own PDFs — without having to copy-paste content into a chat window.
Solution
Built a complete RAG pipeline on Django: PDFs are ingested, chunked, and embedded into a vector store. Hybrid search (vector + keyword) retrieves the most relevant passages at query time, which are injected into a structured LLM prompt. Responses stream in real time via SSE. A persistent user memory system lets Ava remember facts across sessions.
Impact
Deployed publicly as an interactive portfolio demo. Ava can summarize documents, compare multiple PDFs, surface key insights, and identify factual inconsistencies — all grounded in the actual content, with citations shown in the UI.
Technical Highlights
- •Built end-to-end RAG pipeline: ingestion → chunking → embedding → hybrid retrieval → generation
- •Streaming LLM responses via Server-Sent Events for real-time output
- •Hybrid search combining pgvector similarity and keyword ranking
- •Persistent user memory (UserFact model) injected into every prompt
- •Google OAuth integration with automatic name context for personalized greetings
- •Celery + Redis async task queue for non-blocking document processing
- •Nightly document cleanup task to keep storage lean on the demo server
Key Metrics
Future Improvements
- →Source text highlighting in the original PDF
- →Multi-turn reasoning with explicit chain-of-thought
- →Support for non-PDF document types (DOCX, CSV)
- →Per-document conversation threads