Skip to main content

Agentic RAG over any PDF — grounded, cited answers from research reports, ESG/sustainability disclosures, contracts, manuals, and filings. Multi-agent LangGraph workflow with hybrid retrieval, RAPTOR summaries, NL→SQL over extracted tables, CRAG corrective loops, and a defense-in-depth hallucination stack.

Project description

PdfAgent — Agentic RAG over any PDF

Grounded answers from your PDFs, with source citations.

PyPI Python LangGraph FAISS FastAPI Ollama License

Ask questions about any PDF — research reports, contracts, manuals, ESG / sustainability filings — and get grounded, cited answers. Drop a PDF into the browser UI and start asking.

PdfAgent UI


Quick Start

# 1. Install
pip install agentic-rag-pdf

# 2. Install + start Ollama (https://ollama.com/download), pull the embedding model
ollama pull mxbai-embed-large
ollama signin                       # only if using cloud models (e.g. gpt-oss:120b-cloud)

# 3. Launch the UI
agentic-rag-pdf

Open http://localhost:8000 → click Upload PDF → drop a file → ask questions.

The same command is also installed under the shorter alias pdfagent if you prefer less typing. Both are identical.


What it does

  • Multi-modal ingestion — text, tables (extracted into SQLite), images (OCR + optional vision captions).
  • Hybrid retrieval — BM25 + FAISS dense, merged with Reciprocal Rank Fusion, with optional cross-encoder reranking.
  • RAPTOR hierarchical summaries for global queries; Map-Reduce for exhaustive aggregation.
  • Schema-aware NL → SQL for tabular queries (SELECT-only, sandboxed).
  • Hallucination defense (CRAG + 7 layers) — pre-synthesis entity-metric fact extraction, deterministic attribution check, citation verification, claim-level faithfulness, cross-chunk contradiction detection, arithmetic verification of delta tables.
  • Three interfaces — browser UI (SSE-streamed agent steps), REST API, CLI.

See docs/ARCHITECTURE.md for the workflow diagram, full feature breakdown, configuration reference, REST API, and project structure.


Other ways to install

From the latest GitHub commit (handy between releases):

pip install git+https://github.com/bhagatdas/PdfAgent-Agentic-RAG-over-any-PDF.git

For development (editable, clone the repo):

git clone https://github.com/bhagatdas/PdfAgent-Agentic-RAG-over-any-PDF.git
cd PdfAgent-Agentic-RAG-over-any-PDF
pip install -e .
agentic-rag-pdf --reload

Command-line usage

The wheel installs two pairs of console scripts — long-form names that match the PyPI distribution, plus short aliases that mean the same thing:

agentic-rag-pdf                              # launch the browser UI (uvicorn on :8000)
agentic-rag-pdf --host 0.0.0.0 --port 8080   # custom bind
pdfagent                                     # same thing, shorter alias

agentic-rag-pdf-cli ingest                   # CLI ingest (drop files in data/pdfs/ first)
agentic-rag-pdf-cli query "..."              # one-shot question
agentic-rag-pdf-cli chat                     # interactive REPL
agentic-rag-pdf-cli schema                   # print the table schema catalog
pdfagent-cli ...                             # short alias for the same CLI

Override defaults via a .env file in your working directory. The full settings reference lives in config/settings.py.


REST API at a glance

Method Path Purpose
POST /query Run the pipeline; JSON response
POST /query/stream Same, streamed via SSE (one event per agent)
POST /upload-ingest/stream Wipe + ingest a single PDF
GET /health Vector store doc count + table count
GET /ollama/health Probe Ollama readiness + per-OS install help

Full endpoint table and request/response shape: docs/ARCHITECTURE.md#rest-api.


Tech stack

LangGraph + LangChain · Ollama (gpt-oss:120b-cloud, mxbai-embed-large) · FAISS + rank-bm25 · cross-encoder reranker · SQLite for tables · FastAPI (SSE) · PyMuPDF · EasyOCR.


Publishing

Releases go to PyPI as agentic-rag-pdf on every v* tag push. See PUBLISHING.md for the one-time trusted-publisher setup and the tag → release flow.


License

Proprietary — see repository owner.


Built by Bhagat Kumar Das.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentic_rag_pdf-0.1.4.tar.gz (134.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_rag_pdf-0.1.4-py3-none-any.whl (158.7 kB view details)

Uploaded Python 3

File details

Details for the file agentic_rag_pdf-0.1.4.tar.gz.

File metadata

  • Download URL: agentic_rag_pdf-0.1.4.tar.gz
  • Upload date:
  • Size: 134.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for agentic_rag_pdf-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d8dde422d5dd36e0e0592e3c25baa20d74085dfa10d1b396083d94c6995074d9
MD5 e3ea95b4d5abbf229546502b9d9ca173
BLAKE2b-256 38b8e973d7984f912bca29b8df6e053c173fe3eee10fe64b96e72e20e54f522f

See more details on using hashes here.

File details

Details for the file agentic_rag_pdf-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: agentic_rag_pdf-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 158.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for agentic_rag_pdf-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 720a5a4ca287d92222c82bc8bc215d2ee06d958462b02c1832bdcedd249b8079
MD5 1fd1249b19b6be4546aefa739edce7dc
BLAKE2b-256 44e3058787f96273b35bece4c8dfdecbc7fcadad3b34a10ba26bcaf4c8ab8c57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page