RAGBee FW
Lightweight Retrieval-Augmented-Generation framework for SMEs.
RAGBee helps you load documents → split → retrieve → generate
with any LLM (OpenAI, HF Inference API, local vLLM/Triton).
Ports & Adapters + DI give you clean extensibility; CLI lets you run the pipeline in three commands.
✨ Features
- Clean architecture —
core.ports(contracts) +infrastructure.*(plug-ins) - Dependency Injection — YAML config ⇒ container wires loader / splitter / retriever / LLM
- CLI (
ragbee_cli) —ingest,ask,shellout of the box - LLM agnostic — OpenAI, HuggingFace Hub, vLLM, Triton … or your own adapter
- Composable — embed in FastAPI, Telegram-bot, Streamlit, Airflow DAG
- MIT license — free for commercial use
🚀 Quick start
pip install ragbee-fw # 1. install
ragbee_cli ingest config.yml # 2. build index
ragbee_cli ask config.yml "Что такое RAG?" # 3. ask
ragbee_cli shell config.yml # …or interactive REPL
config.yml (minimal):
data_loader:
type: file_loader
path: ./data
text_chunker:
type: recursive_splitter
chunk_size: 500
chunk_overlap: 100
retriever:
type: bm25
top_k: 3
llm:
type: hf
model_name: gpt-3.5-turbo
token: ${env:HF_TOKEN}
🧑💻 Python API
from ragbee_fw import DIContainer, load_config
cfg = load_config("config.yml")
container = DIContainer(cfg)
# 1) build / update index
ingestion = container.build_ingestion_service()
ingestion.build_index() # or .update_index()
# 2) answer questions
answer = container.build_answer_service()
print(answer.generate_answer("What is RAG?", top_k=3))
🗺 Architecture (Clean / Hexagonal)
┌───────────────────┐
│ CLI / UI │ ← FastAPI, Streamlit, Telegram Bot …
└─────────▲─────────┘
│ adapter
┌─────────┴─────────┐
│ Application │ ← DI container, services
└─────────▲─────────┘
│ ports
┌─────────┴─────────┐
│ Core │ ← pure dataclasses, protocols
└─────────▲─────────┘
│ adapters
┌─────────┴─────────┐
│ Infrastructure │ ← FS-loader, Splitter, BM25, HF LLM …
└───────────────────┘
📚 Documentation
Docs & API — README
Examples — example/
🤝 Contributing
-
Fork → clone → poetry install
-
Format code with black . && isort .
-
Submit PR → CI will run lint & tests
See CONTRIBUTING.md for full guide.
📜 License
MIT © V.A. Shevchenko — free for any purpose, commercial or private.
Metadata
Release files for ragbee-fw 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ragbee_fw-0.1.3.tar.gz | 17.0 kB | Without provenance | Details for ragbee_fw-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ragbee_fw-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for ragbee_fw-0.1.3-py3-none-any.whl |
Total release size: 41.4 kB
Release files / ragbee_fw-0.1.3.tar.gz
| Download URL | ragbee_fw-0.1.3.tar.gz |
|---|---|
| Size | 17.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c7cbfc51c558448f192a6323c905c25ba8d5ccd174dabce055162be7f3bc4c2
|
|
BLAKE2b-256 checksum How to use checksums |
ea79edeb37e8f6557ce87d1d668049e1e1d87222e2245a711cfb70155e8f9b6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.12 Linux/6.6.51-1.red80.x86_64
|
Release files / ragbee_fw-0.1.3-py3-none-any.whl
| Download URL | ragbee_fw-0.1.3-py3-none-any.whl |
|---|---|
| Size | 24.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69e640fd18851e21b13e651e3ab470f522c8b8e06b064ef2da271105ad9d04c0
|
|
BLAKE2b-256 checksum How to use checksums |
86fc99ecfe629f6a5ced48f2d5a4fc3d7ac45f3e625ef5759136ced83b267692
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.10.12 Linux/6.6.51-1.red80.x86_64
|
Security for ragbee-fw 0.1.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.