Skip to main content

rag-titan: a Swiss Army knife for RAG. Many RAG types, one simple API, runs locally.

PyPI version Python versions Tests Documentation License: MIT

📖 Documentation · Getting started · Supported RAG types · API reference · PyPI

rag-titan overview: index your files once, then ask questions

Why rag-titan?

  • Many RAG types, one API. Two today (simple, adaptive), with more on the way. Switch with one word: rag_type="adaptive".
  • Runs 100% locally with Ollama, so your documents never leave your machine.
  • Grounded answers. The model answers only from your files and cites the chunks it used.
  • Chunking your way. Eight chunkers: by words, characters or model tokens (tiktoken or your own tokenizer), recursive separators, and structure-aware chunkers that keep sentences, paragraphs, heading sections or pages whole.
  • PDF, Word, Markdown and text files, with paragraphs, headings and pages kept for the chunkers.
  • Easy to read, easy to change. Short files, plain Python, and a docstring on every class. Swap any part by inheriting one base class.

Install

pip install rag-titan
ollama pull gemma3:4b && ollama pull nomic-embed-text

For token-based chunking, add the extra: pip install "rag-titan[tokens]".

Needs Python 3.10+ and Ollama. → Full setup guide

Quick start

from rag_titan import RAGTitan

rag = RAGTitan(rag_type="simple")            # or "adaptive"
rag.index(["handbook.pdf", "policy.docx"])

print(rag.ask("How many leave days do I get?"))
# You get 20 paid leave days every year [chunk_0].

Or from the terminal:

rag-titan ask --files handbook.pdf --question "How many leave days do I get?"

Supported RAG types

rag-titan 0.1 supports 2 RAG types. Pick one with rag_type:

Status RAG type How it works Best for LLM calls
✅ Available Simple RAG
rag_type="simple"
Retrieve → Rerank → Generate Fast answers to clear questions 1
✅ Available Adaptive RAG
rag_type="adaptive"
Route → Retrieve → Check evidence → Rewrite & retry Mixed questions, fewer wrong answers 2–5
from rag_titan import RAG_TYPES
print(RAG_TYPES)        # ['simple', 'adaptive']

Coming next (not available yet): Corrective RAG · Multi-query RAG · HyDE · Hybrid RAG · Self-RAG · Parent-document RAG · Graph RAG · Agentic RAG. → Roadmap

Also included: a tool-calling agent loop. It's a separate feature, not a rag_type.

Simple RAG: retrieve, rerank, generate, with example scores

Adaptive RAG: route, check evidence, rewrite and retry

Explore the docs

Click any picture to open its page.

Indexing pipeline

Building blocks
Load → chunk → embed → store, with the data at every step.

Swappable architecture

Extending rag-titan
Add your own LLM, vector store, chunker or RAG type.

Agent loop

Agents
Let the LLM call your Python functions as tools.

Command line demo

Command line
rag-titan ask and rag-titan chat.

I want to... Read
Install it and ask my first question Getting started
Pick the right RAG type RAG types
Change models, chunk size or reranker Configuration
See every class and method API reference

Contributing

Contributions are welcome! Read CONTRIBUTING.md to get set up. The tests run without Ollama.

License

MIT © Kumar Nishant

Metadata

Release files for rag-titan 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rag-titan 0.3.0
File Size Uploaded Provenance Actions
rag_titan-0.3.0.tar.gz 38.4 kB With provenance Details for rag_titan-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rag-titan 0.3.0
File Interpreter ABI Platform Actions
rag_titan-0.3.0-py3-none-any.whl Python 3 none any Details for rag_titan-0.3.0-py3-none-any.whl

Total release size: 90.7 kB

Release files / rag_titan-0.3.0.tar.gz

Download URL rag_titan-0.3.0.tar.gz
Size 38.4 kB
Tags Source
SHA-256 checksum
How to use checksums
609226885433138d28c8d8e81b5becd2c3b2db6d81d25ddfb62fda95ba504a38
BLAKE2b-256 checksum
How to use checksums
40dc3435eb643fedf389baaaf7ddab8a7289e9ad43d10ea2c0aa89eef278293e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / rag_titan-0.3.0-py3-none-any.whl

Download URL rag_titan-0.3.0-py3-none-any.whl
Size 52.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
246d18888074674c4cfde4d9b3578a16d1a5c3ad739e91c00f6d5ef57b080638
BLAKE2b-256 checksum
How to use checksums
dada974c91eb43be6f61d14bfa4fc6cc92b78eb7786e06cd48580065399ed419
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for rag-titan 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rag_titan-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page