~/home
← back to projects
/01 · 2024

DOCIFY

Universal document intelligence: hybrid FAISS vector search + BM25 keyword retrieval, routed by a LangGraph agent that decides between document and web search per query.
PythonFastAPILangChainLangGraphFAISSBM25Streamlit
CASESTUDY · 01
docify — architecture
┌─ ingest ───┐      ┌─ index ───────┐      ┌─ query ──────┐
│ pdf / docx │ ──▸ │ FAISS · BM25  │ ◂─── │ langgraph    │
└────────────┘      └───────┬──────┘      │ router agent │
                           │              └──────┬──────┘
                           ▾                     ▾
                    hybrid_search │ web_search ──▸ rerank ──▸ stream(answer)
02retrievers · faiss + bm25
03route paths · doc / web / hybrid
sessions · persistent state
// problem
Pure vector search misses exact-term queries; pure keyword search misses paraphrase. Recall suffers either way.
// approach
Hybrid retrieval (FAISS + BM25) behind a LangGraph agent with intelligent query routing and persistent session state.
// result
Higher retrieval recall and answer accuracy; modular backend with multi-chat management and streaming responses.
view repo →discuss this project