Skip to main content

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.pt
  • model.onnx
  • model.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 .rag artifact 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

  • .rag artifact 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
  • .rag marketplace
  • 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


Download files

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

Source Distribution

ragbucket-0.1.0.tar.gz (210.5 kB view details)

Uploaded Source

Built Distribution

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

ragbucket-0.1.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for ragbucket-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8b9d6469ca000c3a8f40738580c12efde162a835496fdd188819741c86fa1126
MD5 a24c7c3b4633d06f781273a1a0350880
BLAKE2b-256 9061e594211f2b7218d233ec93ce411676512449dfc0296bd79f6edad32024b3

See more details on using hashes here.

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

Hashes for ragbucket-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a8d995cf5d0e493ef97e0e4b43620544a28b6ee8a4f57cf2115761677da5dd1
MD5 c460ef211f40d3d782d617d2ef622245
BLAKE2b-256 97aa27ff96827403561c229ebb33b29cfda60575d14abdc8561be08b610503e0

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