# Local PDF Chat RAG

An educational, runnable Python reference implementation of a retrieval-augmented generation pipeline, splitting document loading, chunking, embeddings, FAISS and BM25 hybrid retrieval, reranking and answer generation into readable, replaceable modules.

Local PDF Chat RAG is a transparent Python implementation meant for learning and inspecting a complete RAG pipeline rather than for production use; the project states it is not a production-ready knowledge-base service and that authentication, tenant isolation, persistence, evaluation, security controls and deployment governance would need to be added before handling real business data.

Its pipeline combines FAISS dense retrieval with BM25 keyword retrieval, with optional reranking through a CrossEncoder or a model-based relevance score, and it supports multiple model backends, including local Ollama, SiliconFlow and other OpenAI-compatible APIs. It supports PDF, TXT, Markdown, DOCX, XLS/XLSX and PPTX documents, and ships both a Gradio web interface and a FastAPI REST interface.

The project documents its own maintenance activity, including test coverage, continuous integration on pull requests and its issue and pull-request history, as evidence of ongoing upkeep.

Website: https://github.com/weiwill88/Local_Pdf_Chat_RAG
