Skip to content
BotServBotServ
ChromaVektordatenbankRAGEmbeddingslokale KIDokumentensuche

Chroma einrichten

Chroma für lokales RAG installieren und nutzen. Einfacher Einstieg in die Vektordatenbank für eigene Dokumente.

S

schutzgeist

2 min read
Chroma als lokale Vektordatenbank

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

BegriffBedeutung
CollectionBehälter für zusammengehörige Embeddings
EmbeddingVektor, der einen Text repräsentiert
MetadatenZusätzliche Informationen zu einem Chunk, wie Quelle oder Kategorie
PersistenzSpeicherung 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
Zurück zum KI Blog
Share:

Nächster Artikel in Lokale KI

Weiterlesen
Qdrant einrichten

Ähnliche Beiträge