Chroma einrichten
Einleitung
Chroma ist eine der einfachsten Vektordatenbanken für den Einstieg in RAG. Sie lässt sich lokal installieren, bietet eine Python-API und eignet sich für Prototypen und kleine bis mittlere Projekte. Dieser Artikel zeigt, wie Du Chroma installierst, eine Collection anlegst und Deine ersten Dokumente speicherst.
Chroma einrichten - In A Nutshell
Chroma speichert Embeddings und Metadaten in sogenannten Collections. Du erzeugst aus Deinen Texten Vektoren, fügst sie mit Metadaten hinzu und fragst sie später ab. Chroma kann im Speicher, in einer Datei oder als Docker-Container laufen.
Wichtige Begriffe und Komponenten
| Begriff | Bedeutung |
|---|---|
| Collection | Behälter für zusammengehörige Embeddings |
| Embedding | Vektor, der einen Text repräsentiert |
| Metadaten | Zusätzliche Informationen zu einem Chunk, wie Quelle oder Kategorie |
| Persistenz | Speicherung der Daten auf der Festplatte |
Praxisrelevanz
Wann ist Chroma die richtige Wahl?
Chroma ist ideal, wenn Du schnell mit RAG experimentieren willst. Es reicht für viele Dokumente, läuft lokal und ist einfach zu bedienen. Für große Datenmengen oder produktive Systeme mit vielen gleichzeitigen Zugriffen bieten Qdrant oder pgvector mehr Möglichkeiten.
Installation
Chroma lässt sich einfach per pip installieren:
pip install chromadb
Für eine persistente Installation im aktuellen Verzeichnis reicht ein kurzes Python-Skript.
Erste Schritte
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 erzeugt dabei selbst die Embeddings. Alternativ kannst Du eigene Embedding-Funktionen übergeben.
In-Memory vs. Persistent
Für schnelle Tests reicht ein chromadb.Client() ohne Pfad. Dann gehen die Daten beim Beenden verloren. Für echte Projekte nutzt Du PersistentClient oder den Docker-Container, damit die Daten erhalten bleiben.
Hardware-, Kosten- und Sicherheitsbetrachtung
Chroma ist ressourcensparend. Es benötigt nur wenig Arbeitsspeicher und Festplattenplatz. Die meisten Anwendungen laufen auf einem normalen Rechner. Es ist Open Source und kostenlos. Da es lokal läuft, bleiben alle Dokumente und Vektoren im eigenen Netzwerk.
Weitere KI Infos und Themen
- Chroma lässt sich über pip installieren.
- Daten werden in Collections organisiert.
- PersistentClient speichert Daten lokal.
- Chroma ist ideal für Prototypen und lokale RAG-Projekte.
Mehr zu Embeddings findest Du in Embedding-Modelle und zu Vektordatenbanken allgemein in Vektordatenbanken.
FAQ - Typische Fragen zu Chroma
Kann Chroma mit Ollama zusammenarbeiten?
Ja. Du nutzt Ollama für das Sprachmodell und Chroma für die Vektordatenbank. Beide laufen lokal und kommunizieren über Dein Python-Skript.
Wie viele Dokumente verträgt Chroma?
Für viele tausend Dokumente ist Chroma geeignet. Bei Millionen von Einträgen solltest Du zu skalierbareren Lösungen wie Qdrant wechseln.
Brauche ich Docker für Chroma?
Nein, es läuft auch direkt per Python. Docker ist optional und praktisch für Server-Setups.
Kann ich Chroma mit Open WebUI nutzen?
Open WebUI unterstützt RAG mit verschiedenen Vektordatenbanken. Die Konfiguration hängt von der gewählten WebUI-Version ab.
Tools und Weiterführendes
Neben Chroma eignen sich Qdrant, pgvector und Weaviate. Für den Einstieg ist Chroma besonders einfach.
Quellen
- Chroma Dokumentation
- Chroma GitHub Repository


