Skip to main content

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


Download files

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

Source Distribution

ulfblk_ai_rag-0.1.0.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

ulfblk_ai_rag-0.1.0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

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

Hashes for ulfblk_ai_rag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4c46e351ae10357e16ddee05c1855ab21167209896167b6b4c62ee22b4882c7b
MD5 126e0448e12001fac0093d4e6359d5f6
BLAKE2b-256 7e1656c1db5036499a6dd135c5e25fa5b894d4abe2cdef83c18ac2479339e4c3

See more details on using hashes here.

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

Hashes for ulfblk_ai_rag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92347ab7329aca3947a15060f6b73fb36b00dfe2e11e8c77db412020bfa044a0
MD5 9000853f7f8b81eb95a8fc1fffa5ad47
BLAKE2b-256 d21a493ffd0a2c3325ce27e76006f1af6a8027f01d75cfdc6f013e529db5a660

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