RAG pipeline: ChromaDB vector search + LLM gateway multi-provider (DeepSeek, OpenAI, Ollama)
Project description
bloque-ai-rag
RAG pipeline: ChromaDB vector search + LLM gateway multi-provider (DeepSeek, OpenAI, Ollama).
Instalacion
uv add bloque-ai-rag
Uso rapido
from bloque_ai_rag.pipeline import RAGPipeline
# Crear pipeline con ChromaDB + DeepSeek
rag = RAGPipeline(
collection="knowledge_base",
llm_provider="deepseek",
)
async with rag:
# Ingestar documentos
await rag.ingest([
"FastAPI es un framework web moderno para Python.",
"ChromaDB es una base de datos vectorial open source.",
])
# Consultar
response = await rag.respond("Que es FastAPI?")
print(response.answer)
print(response.contexts) # documentos relevantes
Providers soportados
| Provider | API Base | Modelo default |
|---|---|---|
deepseek |
https://api.deepseek.com |
deepseek-chat |
openai |
https://api.openai.com |
gpt-4o-mini |
ollama |
http://localhost:11434 |
llama3.2 |
Componentes
- ChromaClient - Cliente HTTP para ChromaDB REST API (sin deps pesadas)
- OpenAICompatibleClient - Cliente para DeepSeek, OpenAI, y cualquier API compatible
- OllamaClient - Cliente para Ollama local
- RAGPipeline - Orquestador: query -> vector search -> context building -> LLM generation
Multitenant
Con ulfblk-multitenant instalado, las colecciones se prefijan automaticamente con el tenant_id:
rag = RAGPipeline(collection="knowledge_base", llm_provider="deepseek")
# Con tenant "acme" activo -> coleccion "acme__knowledge_base"
Dependencias
ulfblk-core(logging, health checks)httpx>=0.27(HTTP client async)
No requiere el paquete chromadb (~200MB). Usa ChromaDB REST API directamente.
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 ulfblk_ai_rag-0.1.0.tar.gz.
File metadata
- Download URL: ulfblk_ai_rag-0.1.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c46e351ae10357e16ddee05c1855ab21167209896167b6b4c62ee22b4882c7b
|
|
| MD5 |
126e0448e12001fac0093d4e6359d5f6
|
|
| BLAKE2b-256 |
7e1656c1db5036499a6dd135c5e25fa5b894d4abe2cdef83c18ac2479339e4c3
|
File details
Details for the file ulfblk_ai_rag-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ulfblk_ai_rag-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92347ab7329aca3947a15060f6b73fb36b00dfe2e11e8c77db412020bfa044a0
|
|
| MD5 |
9000853f7f8b81eb95a8fc1fffa5ad47
|
|
| BLAKE2b-256 |
d21a493ffd0a2c3325ce27e76006f1af6a8027f01d75cfdc6f013e529db5a660
|