Portable executable RAG artifacts for Python
Project description
RagBucket
Portable executable RAG artifacts for Python.
RagBucket introduces a portable .rag artifact format that packages:
- semantic vector memory
- chunked knowledge
- retrieval metadata
- RAG configuration
into a single reusable file.
Build once. Load anywhere.
What is RagBucket?
Traditional machine learning models are portable:
model.ptmodel.onnxmodel.gguf
But Retrieval-Augmented Generation (RAG) systems are fragmented.
A RAG pipeline usually depends on:
- vector databases
- embedding pipelines
- chunking logic
- metadata
- retrievers
- external storage
RagBucket solves this by introducing:
.rag
A portable executable RAG artifact format.
Core Idea
Documents
↓
RagBuilder
↓
model.rag
↓
RagRuntime
↓
Question Answering
The .rag artifact contains:
- vector embeddings
- FAISS index
- document chunks
- retrieval metadata
- configuration manifest
allowing RAG systems to become:
- portable
- reusable
- shareable
- executable
Features
- Portable
.ragartifact format - Built-in FAISS vector indexing
- Semantic retrieval pipeline
- Groq-powered answer generation
- Lightweight architecture
- Fully local artifact packaging
- Simple Python API
- Extensible runtime design
Installation
Using uv
uv add ragbucket
Using pip
pip install ragbucket
Build a .rag Artifact
from ragbucket import RagBuilder
builder = RagBuilder()
builder.build(
documents_path="docs/",
output_path="finance_bot.rag"
)
This generates:
finance_bot.rag
Use a .rag Artifact
from ragbucket import RagRuntime
rag = RagRuntime(
rag_path="finance_bot.rag",
api_key="your_groq_api_key"
)
response = rag.ask(
"What is EBITDA?"
)
print(response)
Internal .rag Structure
finance_bot.rag
│
├── vectors.faiss
├── chunks.json
├── manifest.json
Architecture
Raw Documents
↓
Chunker
↓
Embedding Engine
↓
FAISS Indexer
↓
Packager
↓
.rag Artifact
↓
Runtime Loader
↓
Semantic Retrieval
↓
LLM Generation
Current Stack
| Component | Technology |
|---|---|
| Embeddings | Sentence Transformers |
| Vector Store | FAISS |
| Runtime | Python |
| Generation | Groq |
| Packaging | zipfile |
| Chunking | LangChain |
| Artifact Format | .rag |
Example Workflow
Step 1 — Create Artifact
builder.build(
documents_path="docs/",
output_path="demo.rag"
)
Step 2 — Load Artifact
rag = RagRuntime(
rag_path="demo.rag",
api_key="..."
)
Step 3 — Ask Questions
rag.ask("What are transformers?")
Why RagBucket?
RagBucket treats RAG systems as:
portable intelligence artifacts
instead of:
fragmented pipelines.
This allows developers to:
- package knowledge systems
- distribute RAG artifacts
- reuse retrieval memory
- separate knowledge from generation
Roadmap
Phase 1
.ragartifact builder- FAISS serialization
- runtime loading
Phase 2
- configurable retrieval
- metadata filtering
- hybrid search
Phase 3
- Milvus support
- reranking
- evaluation pipelines
Phase 4
- distributed artifact registry
.ragmarketplace- runtime optimization
Project Structure
ragbucket/
│
├── builder/
├── runtime/
├── schemas/
├── utils/
└── constants.py
License
MIT License
Vision
RagBucket aims to become:
“The portable runtime layer for Retrieval-Augmented Generation systems.”
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ragbucket-0.1.0.tar.gz.
File metadata
- Download URL: ragbucket-0.1.0.tar.gz
- Upload date:
- Size: 210.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b9d6469ca000c3a8f40738580c12efde162a835496fdd188819741c86fa1126
|
|
| MD5 |
a24c7c3b4633d06f781273a1a0350880
|
|
| BLAKE2b-256 |
9061e594211f2b7218d233ec93ce411676512449dfc0296bd79f6edad32024b3
|
File details
Details for the file ragbucket-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ragbucket-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a8d995cf5d0e493ef97e0e4b43620544a28b6ee8a4f57cf2115761677da5dd1
|
|
| MD5 |
c460ef211f40d3d782d617d2ef622245
|
|
| BLAKE2b-256 |
97aa27ff96827403561c229ebb33b29cfda60575d14abdc8561be08b610503e0
|