Skip to content
BotServBotServ
ChromaBase de datos vectorialRAGEmbeddingsIA localBúsqueda de documentos

Configurar Chroma

Instala y utiliza Chroma para RAG local. Introducción sencilla a la base de datos vectorial para tus documentos.

S

schutzgeist

2 min read
Configurar Chroma

Configurar Chroma

Introducción

Chroma es una de las bases de datos vectoriales más accesibles para comenzar con RAG. Se instala localmente, ofrece una API en Python y funciona bien para prototipos y proyectos pequeños a medianos. Este artículo explica cómo instalar Chroma, crear una colección y guardar tus primeros documentos.

Chroma en pocas palabras

Chroma almacena embeddings y metadatos en colecciones. Conviertes tus textos en vectores, los añades junto con metadatos y los consultas después. Chroma puede ejecutarse en memoria, guardarse en archivo o correr como contenedor Docker.

Conceptos y componentes clave

TérminoSignificado
CollectionContenedor para embeddings relacionados
EmbeddingVector que representa un texto
MetadatosInformación adicional sobre un chunk, como fuente o categoría
PersistenciaAlmacenamiento de datos en disco

Relevancia práctica

¿Cuándo es Chroma la opción adecuada?

Chroma es ideal si quieres experimentar rápidamente con RAG. Maneja muchos documentos, corre localmente y es fácil de usar. Para grandes volúmenes de datos o sistemas en producción con muchos accesos simultáneos, Qdrant o pgvector ofrecen más capacidades.

Instalación

Instala Chroma fácilmente con pip:

pip install chromadb

Para una instalación persistente en el directorio actual basta un script Python simple.

Primeros pasos

import chromadb

client = chromadb.PersistentClient(path="./chroma_db")

collection = client.create_collection(name="dokumente")

collection.add(
    documents=["RAG verbindet Dokumentensuche mit Sprachmodellen.", "Chroma speichert Vektoren lokal."],
    metadatas=[{"quelle": "artikel"}, {"quelle": "artikel"}],
    ids=["id1", "id2"]
)

results = collection.query(
    query_texts=["Wie funktioniert RAG?"],
    n_results=2
)

print(results)

Chroma genera los embeddings automáticamente. Alternativamente, puedes proporcionar tus propias funciones de embedding.

En memoria vs. persistente

Para pruebas rápidas basta un chromadb.Client() sin ruta. En este caso, los datos se pierden al terminar. Para proyectos reales usa PersistentClient o el contenedor Docker para que los datos se conserven.

Consideraciones de hardware, costos y seguridad

Chroma usa pocos recursos. Consume poca memoria RAM y poco espacio en disco. La mayoría de aplicaciones corre en un ordenador normal. Es software open source y gratuito. Como se ejecuta localmente, todos tus documentos y vectores permanecen en tu propia red.

Más información y temas sobre IA

  • Chroma se instala vía pip.
  • Los datos se organizan en colecciones.
  • PersistentClient almacena datos localmente.
  • Chroma es ideal para prototipos y proyectos RAG locales.

Más sobre embeddings en Modelos de embedding y sobre bases de datos vectoriales en general en Bases de datos vectoriales.

FAQ - Preguntas frecuentes sobre Chroma

¿Puede Chroma trabajar con Ollama?

Sí. Usas Ollama para el modelo de lenguaje y Chroma para la base de datos vectorial. Ambos corre localmente y se comunican a través de tu script Python.

¿Cuántos documentos puede manejar Chroma?

Chroma es adecuado para miles de documentos. Con millones de entradas, deberías cambiar a soluciones más escalables como Qdrant.

¿Necesito Docker para Chroma?

No, también funciona directamente con Python. Docker es opcional y conveniente para configuraciones en servidor.

¿Puedo usar Chroma con Open WebUI?

Open WebUI soporta RAG con varias bases de datos vectoriales. La configuración depende de la versión de WebUI que elijas.

Herramientas y recursos adicionales

Además de Chroma, Qdrant, pgvector y Weaviate son alternativas válidas. Para comenzar, Chroma es especialmente simple.

Fuentes

  • Documentación de Chroma
  • Repositorio GitHub de Chroma
Volver al blog
Share:

Nächster Artikel in IA Local

Weiterlesen
Configurar Qdrant

Entradas relacionadas