Back to projects
HYBRID RAG Retrieval-Augmented Generation & Vector Search

DocMindAI: Hybrid RAG Engine

Document question-answering engine combining FAISS dense vector search with BM25 keyword matching via Reciprocal Rank Fusion (RRF). Delivers grounded answers with exact source citations, per-doc scoping, and SQL analytics.

LangChainFAISS Vector StoreBM25 Keyword SearchReciprocal Rank Fusion (RRF)Claude HaikuDocker
System architecture and interface
DocMindAI: Hybrid RAG Engine
FAISS (MiniLM)
Dense Embeddings
rank_bm25
Sparse Keyword
Reciprocal Rank (RRF)
Ranking Algorithm
6/6 Passing
Unit Test Suite

Why Hybrid Retrieval

Standard vector search frequently misses exact part numbers, model codes, and acronyms inside dense engineering manuals. DocMindAI fuses dense semantic vectors with sparse lexical keyword matching.

Hybrid Retrieval Architecture: FAISS + BM25 + RRF

  1. Dense Vector Search: On-disk FAISS index using all-MiniLM-L6-v2 (384-dimensional semantic embeddings).
  2. Sparse Keyword Matching: rank_bm25 index to catch exact part numbers and serial codes.
  3. Reciprocal Rank Fusion (RRF): Merges dense and sparse rankings with reciprocal rank math, so exact part numbers rank alongside semantic matches.
  4. Interactive CLI Demo: Includes demo_hybrid_retrieval.py for side-by-side benchmarking of vector vs. keyword vs. hybrid fusion.

Capabilities

  • Exact Document Scoping: Restricts query context to user-selected PDF manuals or whole libraries.
  • SQL Analytics: Natural language questions translate into exact SQL analytics against metadata tables.
  • Containerised: Dockerfile and .dockerignore for container deployment.

Tech Stack & Repositories

  • Frameworks & Search: Python, Flask, LangChain, FAISS, rank_bm25.
  • LLM Synthesis: Claude 3.5 Haiku API with strict citation grounding.
  • DevOps: Docker, pytest (6/6 passing tests).
  • GitHub Repository: docmindai-rag-chatbot