# Insta RAG
> **Build production‑grade Retrieval‑Augmented Generation in minutes — not months.**
>
> Plug‑and‑play RAG that you configure, not hand‑wire.
<p align="center">
<a href="https://pypi.org/project/insta-rag/"><img src="https://img.shields.io/pypi/v/insta-rag.svg" alt="PyPI"></a>
<img src="https://img.shields.io/badge/python-3.9%2B-blue.svg" alt="Python">
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License">
<img src="https://img.shields.io/badge/status-beta-FF9F1C.svg" alt="Beta">
</p>
Insta RAG (a.k.a. **insta_rag**) is a **modular, configuration‑driven** Python library for building **advanced RAG pipelines**. It abstracts document processing, embedding, and hybrid retrieval behind a clean client so you can ship faster — and tune later.
- **Semantic Chunking** → splits docs on topic boundaries to preserve context.
- **Hybrid Retrieval** → semantic vectors + BM25 keyword search.
- **HyDE Query Transform** → synthesizes hypothetical answers to improve recall.
- **Reranking** → optional integration with SOTA rerankers (e.g., Cohere) to reorder results.
- **Pluggable by Design** → swap chunkers, embedders, rerankers, and vector DBs.
- **Hybrid Storage** → keep **Qdrant** lean for vectors and use **MongoDB** for cheap, flexible content storage.
---
## Contents
- [Why Insta RAG](#why-insta-rag)
- [Quick Start](#quick-start)
- [Concepts](#concepts)
- [Configuration](#configuration)
- [Core API](#core-api)
- [Convenience “Rack” API](#convenience-rack-api)
- [Decorators (syntactic sugar)](#decorators-syntactic-sugar)
- [Advanced Retrieval Recipes](#advanced-retrieval-recipes)
- [FastAPI Example](#fastapi-example)
- [CLI (preview)](#cli-preview)
- [Guides & Docs](#guides--docs)
- [Contributing](#contributing)
- [Roadmap](#roadmap)
- [License](#license)
---
## Why Insta RAG
Most RAG stacks feel like soldering a radio: a tangle of chunkers, embedders, retrievers, rerankers, and caches. **Insta RAG makes it a plug‑and‑play client.** Configure once, swap pieces at will, and keep the door open for the latest techniques.
```
┌──────────┐ ┌────────┐ ┌──────────┐ ┌───────────┐ ┌────────┐
│ Documents├─▶│Chunking │─▶│ Embedding│─▶│ Retrieval │─▶│ Rerank │─▶ Results
└──────────┘ └────────┘ └──────────┘ └───────────┘ └────────┘
^ ^ ^
pluggable pluggable pluggable
```
---
## Quick Start
### 1) Install
```bash
# Recommended: using uv
uv pip install insta-rag
# Or with pip
pip install insta-rag
```
### 2) Minimal example
```python
from insta_rag import RAGClient, RAGConfig, DocumentInput
# Load configuration from environment variables (.env supported)
config = RAGConfig.from_env()
client = RAGClient(config)
# 1) Add documents to a collection
client.add_documents(
[DocumentInput.from_text("Your first document content.")],
collection_name="my_docs",
)
# 2) Retrieve relevant information
resp = client.retrieve(
query="What is this document about?",
collection_name="my_docs",
)
# Print the top chunk
if resp.chunks:
print(resp.chunks[0].content)
```
> **Tip:** Start simple. You can turn on HyDE, hybrid retrieval, and reranking later via config.
---
## Concepts
- **Collection**: named corpus (e.g., `"my_docs"`).
- **Chunker**: splits raw docs into semantically coherent chunks.
- **Embedder**: turns chunks into vectors for semantic lookup.
- **Retriever**: finds candidates using vector search, BM25, or both.
- **Reranker**: reorders candidates using a cross‑encoder (optional).
- **Rack**: shorthand in this project for your **knowledge base**.
---
## Configuration
Declare your stack in a `.env` or environment variables. Common options:
```dotenv
# Vector store
INSTA_RAG_QDRANT_URL=https://your-qdrant:6333
INSTA_RAG_QDRANT_API_KEY=...
# Hybrid storage (optional)
INSTA_RAG_MONGODB_URI=mongodb+srv://...
INSTA_RAG_MONGODB_DB=insta_rag
# Embeddings / LLMs
INSTA_RAG_EMBED_MODEL=text-embedding-3-large
OPENAI_API_KEY=...
# HyDE
INSTA_RAG_HYDE_ENABLED=true
INSTA_RAG_HYDE_MODEL=gpt-4o-mini
# Hybrid retrieval
INSTA_RAG_HYBRID_ENABLED=true
INSTA_RAG_BM25_WEIGHT=0.35
INSTA_RAG_VECTOR_WEIGHT=0.65
# Reranking (optional)
INSTA_RAG_RERANKER=cohere-rerank-3
COHERE_API_KEY=...
# Other
INSTA_RAG_DEFAULT_COLLECTION=my_docs
```
> See **[Guides & Docs](#guides--docs)** for a full catalog of settings.
---
## Core API
```python
from insta_rag import RAGClient, RAGConfig, DocumentInput
config = RAGConfig.from_env()
client = RAGClient(config)
# Add
docs = [
DocumentInput.from_text(
"Payments: To get a refund, contact support within 30 days.",
metadata={"source": "faq.md"},
),
]
client.add_documents(docs, collection_name="my_docs")
# Retrieve
resp = client.retrieve(
query="How do I get a refund?",
collection_name="my_docs",
k=8, # number of candidates
use_hyde=True, # HyDE query transformation
use_hybrid=True, # BM25 + vectors
rerank=True, # apply reranker if configured
)
for ch in resp.chunks:
print(f"score={ch.score:.3f}", ch.content[:80])
```
---
## Convenience “Rack” API
For teams that want **ultra‑simple, CRUD‑style operations** on the knowledge base, Insta RAG ships a tiny convenience layer that wraps the core client methods. (It’s sugar; you can ignore it.)
```python
from insta_rag import RAGClient, RAGConfig
from insta_rag.rack import Rack # sugar over client.add/update/remove
client = RAGClient(RAGConfig.from_env())
rack = Rack(client, collection="my_docs")
# Push (create)
rack.push(
id="doc-1",
text="Return policy: 30‑day refunds via support@acme.com",
metadata={"source": "policy.pdf", "lang": "en"},
)
# Update (replace text)
rack.update(id="doc-1", text="Return policy updated: 45 days.")
# Remove
rack.remove(id="doc-1")
# Ask (retrieve only; you format the answer)
chunks = rack.ask("What is the return window?", k=5)
print(chunks[0].content)
```
---
## Decorators (syntactic sugar)
Prefer functions over boilerplate? Use decorators to **bind a collection** and **configure retrieval** at the call site. These live in `insta_rag.decorators` and are **optional**.
```python
from insta_rag import RAGClient, RAGConfig
from insta_rag.decorators import rack, use_retrieval
client = RAGClient(RAGConfig.from_env())
@rack(client, collection="my_docs") # binds the knowledge base
@use_retrieval(hyde=True, hybrid=True, k=8, rerank=True)
def top_chunk(query, retrieve):
"""retrieve is injected: chunks = retrieve(query)"""
chunks = retrieve(query)
return chunks[0]
best = top_chunk("Summarize the refund policy")
print(best.content)
```
> The decorator layer is intentionally thin so you can remove it without touching your business logic.
---
## Advanced Retrieval Recipes
### 1) Metadata filtering
```python
resp = client.retrieve(
query="refunds",
collection_name="my_docs",
filters={"lang": "en", "source": {"$in": ["policy.pdf", "faq.md"]}},
)
```
### 2) Balanced hybrid retrieval
```python
resp = client.retrieve(
query="PCI requirements for card storage",
collection_name="my_docs",
use_hybrid=True,
bm25_weight=0.5,
vector_weight=0.5,
)
```
### 3) HyDE + rerank for long‑tail questions
```python
resp = client.retrieve(
query="Could I still cancel after partial shipment?",
collection_name="my_docs",
use_hyde=True,
rerank=True,
k=12,
)
```
---
## FastAPI Example
```python
from fastapi import FastAPI, Query
from insta_rag import RAGClient, RAGConfig
app = FastAPI()
rag = RAGClient(RAGConfig.from_env())
@app.get("/ask")
async def ask(query: str = Query(...), collection: str = "my_docs"):
resp = rag.retrieve(query=query, collection_name=collection, use_hyde=True, use_hybrid=True, rerank=True)
return {
"matches": [
{"score": ch.score, "content": ch.content, "metadata": ch.metadata}
for ch in resp.chunks
]
}
```
---
## CLI (preview)
> Optional add‑on for simple ops. Install with `pip install insta-rag[cli]`.
```bash
# Ingest
insta-rag add --collection my_docs ./data/*.pdf
# Update by id
insta-rag update --collection my_docs --id doc-1 --file updated.txt
# Remove by id
insta-rag remove --collection my_docs --id doc-1
# Ask (JSON response)
insta-rag ask --collection my_docs --query "What is the refund window?"
```
---
## Guides & Docs
- **Installation Guide** – Python versions, optional extras, uv vs pip
- **Quickstart** – end‑to‑end in 5 minutes
- **Document Management** – ingestion patterns, chunking strategies
- **Advanced Retrieval** – hybrid knobs, HyDE, reranking, filters
- **Storage Backends** – Qdrant setup, MongoDB sizing tips
> Looking for something specific? See the **Full Documentation** (link your site here).
---
## Contributing
We welcome contributions! Please check out the **Contributing Guide** for:
- Dev environment setup (`uv`, `poetry`, or `pip`)
- Code quality: `ruff`, `black`, `mypy`, `pytest`, `pre-commit`
- Commit conventions: Conventional Commits
- Branching model: `main` (stable) / `develop` (active)
- Versioning: SemVer
- PR checklist & CI matrix
---
## Roadmap
- [ ] Built‑in summarization & answer synthesis helpers
- [ ] More rerankers (open‑source options)
- [ ] CLI GA
- [ ] LangChain/LlamaIndex adapters
- [ ] Streaming & tracing hooks (OpenTelemetry)
- [ ] Native PDF/HTML loaders with auto‑chunk profiles
---
## Documentation
For detailed guides on installation, configuration, and advanced features, please see the **[Full Documentation](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki)**.
Key sections include:
- **[Installation Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/installation)**
- **[Quickstart Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/quickstart)**
- **Guides**
- [Document Management](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/document-management)
- [Advanced Retrieval](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/retrieval)
- [Storage Backends](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/storage-backends)
## Contributing
We welcome contributions! Please see our [Contributing Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/blob/main/CONTRIBUTING.md) for details on:
- Setting up your development environment
- Code quality tools and pre-commit hooks
- Commit and branch naming conventions
- Version management
- Pull request process
## License
This project is licensed under the [MIT License](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/blob/main/LICENSE).
### Shout‑outs
Insta RAG packages the **most effective, modern RAG techniques** into a clean DX. You focus on your product; we keep the rack updated as the ecosystem evolves.
Raw data
{
"_id": null,
"home_page": null,
"name": "insta-rag",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "rag, retrieval-augmented-generation, llm, ai, nlp",
"author": "Aukik Aurnab, Tahmidul Islam, MD Ikramul Kayes",
"author_email": "Aukik Aurnab <aukikaurnabx@gmail.com>, Tahmidul Islam <me@tahmidul612.com>, MD Ikramul Kayes <ikramul.kayesgg@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/c0/c7/3abc97119791c2741b508e5e64a160ac86b1e0df02de042b29b4b04f4e58/insta_rag-0.2.0.tar.gz",
"platform": null,
"description": "# Insta RAG\n\n> **Build production\u2011grade Retrieval\u2011Augmented Generation in minutes \u2014 not months.**\n>\n> Plug\u2011and\u2011play RAG that you configure, not hand\u2011wire.\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/insta-rag/\"><img src=\"https://img.shields.io/pypi/v/insta-rag.svg\" alt=\"PyPI\"></a>\n <img src=\"https://img.shields.io/badge/python-3.9%2B-blue.svg\" alt=\"Python\">\n <img src=\"https://img.shields.io/badge/license-MIT-green.svg\" alt=\"License\">\n <img src=\"https://img.shields.io/badge/status-beta-FF9F1C.svg\" alt=\"Beta\">\n</p>\n\nInsta RAG (a.k.a. **insta_rag**) is a **modular, configuration\u2011driven** Python library for building **advanced RAG pipelines**. It abstracts document processing, embedding, and hybrid retrieval behind a clean client so you can ship faster \u2014 and tune later.\n\n- **Semantic Chunking** \u2192 splits docs on topic boundaries to preserve context.\n- **Hybrid Retrieval** \u2192 semantic vectors + BM25 keyword search.\n- **HyDE Query Transform** \u2192 synthesizes hypothetical answers to improve recall.\n- **Reranking** \u2192 optional integration with SOTA rerankers (e.g., Cohere) to reorder results.\n- **Pluggable by Design** \u2192 swap chunkers, embedders, rerankers, and vector DBs.\n- **Hybrid Storage** \u2192 keep **Qdrant** lean for vectors and use **MongoDB** for cheap, flexible content storage.\n\n---\n\n## Contents\n\n- [Why Insta RAG](#why-insta-rag)\n- [Quick Start](#quick-start)\n- [Concepts](#concepts)\n- [Configuration](#configuration)\n- [Core API](#core-api)\n- [Convenience \u201cRack\u201d API](#convenience-rack-api)\n- [Decorators (syntactic sugar)](#decorators-syntactic-sugar)\n- [Advanced Retrieval Recipes](#advanced-retrieval-recipes)\n- [FastAPI Example](#fastapi-example)\n- [CLI (preview)](#cli-preview)\n- [Guides & Docs](#guides--docs)\n- [Contributing](#contributing)\n- [Roadmap](#roadmap)\n- [License](#license)\n\n---\n\n## Why Insta RAG\n\nMost RAG stacks feel like soldering a radio: a tangle of chunkers, embedders, retrievers, rerankers, and caches. **Insta RAG makes it a plug\u2011and\u2011play client.** Configure once, swap pieces at will, and keep the door open for the latest techniques.\n\n```\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Documents\u251c\u2500\u25b6\u2502Chunking \u2502\u2500\u25b6\u2502 Embedding\u2502\u2500\u25b6\u2502 Retrieval \u2502\u2500\u25b6\u2502 Rerank \u2502\u2500\u25b6 Results\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n ^ ^ ^\n pluggable pluggable pluggable\n```\n\n---\n\n## Quick Start\n\n### 1) Install\n\n```bash\n# Recommended: using uv\nuv pip install insta-rag\n\n# Or with pip\npip install insta-rag\n```\n\n### 2) Minimal example\n\n```python\nfrom insta_rag import RAGClient, RAGConfig, DocumentInput\n\n# Load configuration from environment variables (.env supported)\nconfig = RAGConfig.from_env()\nclient = RAGClient(config)\n\n# 1) Add documents to a collection\nclient.add_documents(\n [DocumentInput.from_text(\"Your first document content.\")],\n collection_name=\"my_docs\",\n)\n\n# 2) Retrieve relevant information\nresp = client.retrieve(\n query=\"What is this document about?\",\n collection_name=\"my_docs\",\n)\n\n# Print the top chunk\nif resp.chunks:\n print(resp.chunks[0].content)\n```\n\n> **Tip:** Start simple. You can turn on HyDE, hybrid retrieval, and reranking later via config.\n\n---\n\n## Concepts\n\n- **Collection**: named corpus (e.g., `\"my_docs\"`).\n- **Chunker**: splits raw docs into semantically coherent chunks.\n- **Embedder**: turns chunks into vectors for semantic lookup.\n- **Retriever**: finds candidates using vector search, BM25, or both.\n- **Reranker**: reorders candidates using a cross\u2011encoder (optional).\n- **Rack**: shorthand in this project for your **knowledge base**.\n\n---\n\n## Configuration\n\nDeclare your stack in a `.env` or environment variables. Common options:\n\n```dotenv\n# Vector store\nINSTA_RAG_QDRANT_URL=https://your-qdrant:6333\nINSTA_RAG_QDRANT_API_KEY=...\n\n# Hybrid storage (optional)\nINSTA_RAG_MONGODB_URI=mongodb+srv://...\nINSTA_RAG_MONGODB_DB=insta_rag\n\n# Embeddings / LLMs\nINSTA_RAG_EMBED_MODEL=text-embedding-3-large\nOPENAI_API_KEY=...\n\n# HyDE\nINSTA_RAG_HYDE_ENABLED=true\nINSTA_RAG_HYDE_MODEL=gpt-4o-mini\n\n# Hybrid retrieval\nINSTA_RAG_HYBRID_ENABLED=true\nINSTA_RAG_BM25_WEIGHT=0.35\nINSTA_RAG_VECTOR_WEIGHT=0.65\n\n# Reranking (optional)\nINSTA_RAG_RERANKER=cohere-rerank-3\nCOHERE_API_KEY=...\n\n# Other\nINSTA_RAG_DEFAULT_COLLECTION=my_docs\n```\n\n> See **[Guides & Docs](#guides--docs)** for a full catalog of settings.\n\n---\n\n## Core API\n\n```python\nfrom insta_rag import RAGClient, RAGConfig, DocumentInput\n\nconfig = RAGConfig.from_env()\nclient = RAGClient(config)\n\n# Add\ndocs = [\n DocumentInput.from_text(\n \"Payments: To get a refund, contact support within 30 days.\",\n metadata={\"source\": \"faq.md\"},\n ),\n]\nclient.add_documents(docs, collection_name=\"my_docs\")\n\n# Retrieve\nresp = client.retrieve(\n query=\"How do I get a refund?\",\n collection_name=\"my_docs\",\n k=8, # number of candidates\n use_hyde=True, # HyDE query transformation\n use_hybrid=True, # BM25 + vectors\n rerank=True, # apply reranker if configured\n)\n\nfor ch in resp.chunks:\n print(f\"score={ch.score:.3f}\", ch.content[:80])\n```\n\n---\n\n## Convenience \u201cRack\u201d API\n\nFor teams that want **ultra\u2011simple, CRUD\u2011style operations** on the knowledge base, Insta RAG ships a tiny convenience layer that wraps the core client methods. (It\u2019s sugar; you can ignore it.)\n\n```python\nfrom insta_rag import RAGClient, RAGConfig\nfrom insta_rag.rack import Rack # sugar over client.add/update/remove\n\nclient = RAGClient(RAGConfig.from_env())\nrack = Rack(client, collection=\"my_docs\")\n\n# Push (create)\nrack.push(\n id=\"doc-1\",\n text=\"Return policy: 30\u2011day refunds via support@acme.com\",\n metadata={\"source\": \"policy.pdf\", \"lang\": \"en\"},\n)\n\n# Update (replace text)\nrack.update(id=\"doc-1\", text=\"Return policy updated: 45 days.\")\n\n# Remove\nrack.remove(id=\"doc-1\")\n\n# Ask (retrieve only; you format the answer)\nchunks = rack.ask(\"What is the return window?\", k=5)\nprint(chunks[0].content)\n```\n\n---\n\n## Decorators (syntactic sugar)\n\nPrefer functions over boilerplate? Use decorators to **bind a collection** and **configure retrieval** at the call site. These live in `insta_rag.decorators` and are **optional**.\n\n```python\nfrom insta_rag import RAGClient, RAGConfig\nfrom insta_rag.decorators import rack, use_retrieval\n\nclient = RAGClient(RAGConfig.from_env())\n\n@rack(client, collection=\"my_docs\") # binds the knowledge base\n@use_retrieval(hyde=True, hybrid=True, k=8, rerank=True)\ndef top_chunk(query, retrieve):\n \"\"\"retrieve is injected: chunks = retrieve(query)\"\"\"\n chunks = retrieve(query)\n return chunks[0]\n\nbest = top_chunk(\"Summarize the refund policy\")\nprint(best.content)\n```\n\n> The decorator layer is intentionally thin so you can remove it without touching your business logic.\n\n---\n\n## Advanced Retrieval Recipes\n\n### 1) Metadata filtering\n```python\nresp = client.retrieve(\n query=\"refunds\",\n collection_name=\"my_docs\",\n filters={\"lang\": \"en\", \"source\": {\"$in\": [\"policy.pdf\", \"faq.md\"]}},\n)\n```\n\n### 2) Balanced hybrid retrieval\n```python\nresp = client.retrieve(\n query=\"PCI requirements for card storage\",\n collection_name=\"my_docs\",\n use_hybrid=True,\n bm25_weight=0.5,\n vector_weight=0.5,\n)\n```\n\n### 3) HyDE + rerank for long\u2011tail questions\n```python\nresp = client.retrieve(\n query=\"Could I still cancel after partial shipment?\",\n collection_name=\"my_docs\",\n use_hyde=True,\n rerank=True,\n k=12,\n)\n```\n\n---\n\n## FastAPI Example\n\n```python\nfrom fastapi import FastAPI, Query\nfrom insta_rag import RAGClient, RAGConfig\n\napp = FastAPI()\nrag = RAGClient(RAGConfig.from_env())\n\n@app.get(\"/ask\")\nasync def ask(query: str = Query(...), collection: str = \"my_docs\"):\n resp = rag.retrieve(query=query, collection_name=collection, use_hyde=True, use_hybrid=True, rerank=True)\n return {\n \"matches\": [\n {\"score\": ch.score, \"content\": ch.content, \"metadata\": ch.metadata}\n for ch in resp.chunks\n ]\n }\n```\n\n---\n\n## CLI (preview)\n\n> Optional add\u2011on for simple ops. Install with `pip install insta-rag[cli]`.\n\n```bash\n# Ingest\ninsta-rag add --collection my_docs ./data/*.pdf\n\n# Update by id\ninsta-rag update --collection my_docs --id doc-1 --file updated.txt\n\n# Remove by id\ninsta-rag remove --collection my_docs --id doc-1\n\n# Ask (JSON response)\ninsta-rag ask --collection my_docs --query \"What is the refund window?\"\n```\n\n---\n\n## Guides & Docs\n\n- **Installation Guide** \u2013 Python versions, optional extras, uv vs pip\n- **Quickstart** \u2013 end\u2011to\u2011end in 5 minutes\n- **Document Management** \u2013 ingestion patterns, chunking strategies\n- **Advanced Retrieval** \u2013 hybrid knobs, HyDE, reranking, filters\n- **Storage Backends** \u2013 Qdrant setup, MongoDB sizing tips\n\n> Looking for something specific? See the **Full Documentation** (link your site here).\n\n---\n\n## Contributing\n\nWe welcome contributions! Please check out the **Contributing Guide** for:\n\n- Dev environment setup (`uv`, `poetry`, or `pip`)\n- Code quality: `ruff`, `black`, `mypy`, `pytest`, `pre-commit`\n- Commit conventions: Conventional Commits\n- Branching model: `main` (stable) / `develop` (active)\n- Versioning: SemVer\n- PR checklist & CI matrix\n\n---\n\n## Roadmap\n\n- [ ] Built\u2011in summarization & answer synthesis helpers\n- [ ] More rerankers (open\u2011source options)\n- [ ] CLI GA\n- [ ] LangChain/LlamaIndex adapters\n- [ ] Streaming & tracing hooks (OpenTelemetry)\n- [ ] Native PDF/HTML loaders with auto\u2011chunk profiles\n\n---\n\n\n\n\n## Documentation\n\nFor detailed guides on installation, configuration, and advanced features, please see the **[Full Documentation](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki)**.\n\nKey sections include:\n\n- **[Installation Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/installation)**\n- **[Quickstart Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/quickstart)**\n- **Guides**\n - [Document Management](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/document-management)\n - [Advanced Retrieval](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/retrieval)\n - [Storage Backends](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki/guides/storage-backends)\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/blob/main/CONTRIBUTING.md) for details on:\n\n- Setting up your development environment\n- Code quality tools and pre-commit hooks\n- Commit and branch naming conventions\n- Version management\n- Pull request process\n\n## License\n\nThis project is licensed under the [MIT License](https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/blob/main/LICENSE).\n\n\n\n### Shout\u2011outs\n\nInsta RAG packages the **most effective, modern RAG techniques** into a clean DX. You focus on your product; we keep the rack updated as the ecosystem evolves.",
"bugtrack_url": null,
"license": null,
"summary": "A RAG (Retrieval-Augmented Generation) library for document processing and retrieval.",
"version": "0.2.0",
"project_urls": {
"Bug Tracker": "https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/issues",
"Documentation": "https://github.com/AI-Buddy-Catalyst-Labs/insta_rag/wiki",
"Homepage": "https://github.com/AI-Buddy-Catalyst-Labs/insta_rag"
},
"split_keywords": [
"rag",
" retrieval-augmented-generation",
" llm",
" ai",
" nlp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "08d8138222d3d7b1288cbc886d4c462d6d10afd117e5a66703d18eddd393dbc8",
"md5": "eed29f42c0059f2100adedf6403baa94",
"sha256": "d66d998be901842688616c06d8ca9ae765dfb1f8e03353a133c1ac09cd1416a0"
},
"downloads": -1,
"filename": "insta_rag-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eed29f42c0059f2100adedf6403baa94",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 52189,
"upload_time": "2025-10-23T10:18:22",
"upload_time_iso_8601": "2025-10-23T10:18:22.189610Z",
"url": "https://files.pythonhosted.org/packages/08/d8/138222d3d7b1288cbc886d4c462d6d10afd117e5a66703d18eddd393dbc8/insta_rag-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c0c73abc97119791c2741b508e5e64a160ac86b1e0df02de042b29b4b04f4e58",
"md5": "894fa39ac69b760145e1499046e7884e",
"sha256": "3de840f543f4db19284f35916df7557596e9a3bbe1615898a405e04f6d87276c"
},
"downloads": -1,
"filename": "insta_rag-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "894fa39ac69b760145e1499046e7884e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 41542,
"upload_time": "2025-10-23T10:18:25",
"upload_time_iso_8601": "2025-10-23T10:18:25.396118Z",
"url": "https://files.pythonhosted.org/packages/c0/c7/3abc97119791c2741b508e5e64a160ac86b1e0df02de042b29b4b04f4e58/insta_rag-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-23 10:18:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AI-Buddy-Catalyst-Labs",
"github_project": "insta_rag",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "insta-rag"
}