AI / RAG
ResearchMate AI — RAG Research Assistant
Production-grade RAG research assistant — a 'Perplexity for research'. Upload scientific PDFs, ask grounded questions with inline citations, generate summaries, compare papers side-by-side, explore an entity knowledge graph, and drive it all through specialized LLM agents.
Public demo
4 — polyglot data stores orchestrated
The problem
Researchers, students, and engineers burn hours parsing dense papers, and generic chatbots hallucinate citations. There's no fast path from 'a stack of PDFs' to trustworthy, source-grounded answers you can actually cite.
The approach
Async FastAPI backend with polyglot persistence: PostgreSQL for users/documents/chat memory, Qdrant for hybrid retrieval, and Neo4j for the knowledge graph. PyMuPDF + pdfplumber ingest and semantically chunk PDFs. Retrieval fuses Qdrant dense vectors (BGE/E5) with BM25 keyword search via Reciprocal Rank Fusion, then a BGE cross-encoder reranks before OpenAI GPT generates cited answers. The LLM provider, embeddings, and reranker are all swappable via config.
The results
End-to-end hybrid RAG with inline citations, streaming responses over SSE, per-paper summarization, side-by-side paper comparison, and a Neo4j knowledge graph of extracted entities and relations. Specialized agents orchestrate multi-step research tasks. JWT auth (access + refresh, bcrypt) secures multi-user workspaces. Fully containerized via Docker Compose (Postgres + Qdrant + Neo4j).
Stack: Next.js, FastAPI, Qdrant, Neo4j, PostgreSQL, sentence-transformers, OpenAI