Zum Inhalt springen

Qdrant verbinden

Qdrant ist eine Vektordatenbank, die als separater Server betrieben wird. Sie eignet sich, wenn bei vielen Dokumenten die Suchdaten mehrere Zehntausend Einträge überschreiten oder wenn Sie die KI-Suchdaten getrennt vom SpaceBuilder-Server betreiben möchten.

Auch bei Verwendung von Qdrant bleiben die Originaldateien und Dokumenttexte unverändert in SpaceBuilder. In Qdrant werden nur die für die Suche benötigten Vektoren und ein Minimum an Informationen gespeichert.


Bevor Sie beginnen

  • Erforderliche Berechtigung: Workspace-Administrator sowie die Berechtigung, die Qdrant-Verbindungsinformationen zu verwalten
  • Der SpaceBuilder-Server muss den REST- und den gRPC-Endpunkt von Qdrant erreichen können.
  • Prüfen Sie die Ausgabedimension des Einbettungsmodells.

Qdrant installieren

Sie benötigen einen Qdrant-Server, der vom SpaceBuilder-Server aus erreichbar ist. Wenn Sie bereits ein Qdrant betreiben, überspringen Sie diesen Abschnitt und fahren Sie mit Verbindung einrichten fort.

Am einfachsten installieren Sie Qdrant mit Docker. Die folgenden Schritte setzen voraus, dass auf einem Linux-Server Docker installiert ist.

Vorbereitung

ElementInhalt
ServerQdrant kann auf demselben Server wie SpaceBuilder oder auf einem separaten Server laufen. Auf demselben Server teilt es sich den Arbeitsspeicher mit SpaceBuilder; planen Sie daher Reserven ein.
ArbeitsspeicherFür schnelle Suchen werden die Vektoren im Arbeitsspeicher gehalten. Nach der von Qdrant empfohlenen Formel (Anzahl der Vektoren × Dimension × 4 Byte × 1,5) benötigen Sie mit bge-m3 (1024 Dimensionen) für 100.000 Vektoren etwa 0,6 GB und für 1 Million Vektoren etwa 6 GB.
FestplatteDa Vektoren und die Texte der Dokumentabschnitte gemeinsam gespeichert werden, planen Sie das Zwei- bis Dreifache des Arbeitsspeicherbedarfs ein.
Ports6333 (REST API) und 6334 (gRPC). SpaceBuilder verwendet bevorzugt gRPC und schaltet auf REST um, wenn keine Verbindung möglich ist.

Ausführen

Binden Sie unbedingt einen Speicherordner ein, damit die Daten auch nach dem Entfernen des Containers erhalten bleiben. Das folgende Beispiel speichert unter /data/qdrant und ist so konfiguriert, dass der Container nach einem Neustart des Servers automatisch wieder startet.

Die Image-Version wird über die Variable QDRANT_VERSION festgelegt. Ohne Versionsangabe wird latest installiert, sodass sich die Version beim Neuerstellen des Containers unbeabsichtigt ändern kann. Die folgende Version ist ein Beispiel zum Zeitpunkt der Dokumenterstellung. Ersetzen Sie sie bei der tatsächlichen Installation durch eine Version, die Ihre Organisation auf der Qdrant-Releaseseite geprüft hat.

QDRANT_VERSION=v1.19.1
sudo mkdir -p /data/qdrant

docker run -d --name qdrant \
  --restart unless-stopped \
  -p 6333:6333 \
  -p 6334:6334 \
  -v /data/qdrant:/qdrant/storage \
  qdrant/qdrant:${QDRANT_VERSION}

Wenn Sie Qdrant auf einem anderen Server als SpaceBuilder betreiben oder in einem Netzwerk, auf das mehrere Personen zugreifen können, aktivieren Sie zusätzlich einen API-Schlüssel. Wählen Sie einen langen, schwer zu erratenden Wert.

QDRANT_VERSION=v1.19.1
docker run -d --name qdrant \
  --restart unless-stopped \
  -p 6333:6333 \
  -p 6334:6334 \
  -v /data/qdrant:/qdrant/storage \
  -e QDRANT__SERVICE__API_KEY='<API-Schlüssel>' \
  qdrant/qdrant:${QDRANT_VERSION}

Installation prüfen

curl http://localhost:6333/collections

Wenn eine Antwort mit "status":"ok" zurückkommt, ist alles in Ordnung. Wenn Sie einen API-Schlüssel aktiviert haben, erhalten Sie nur mit dem Header api-key eine Antwort, z. B. curl -H 'api-key: <API-Schlüssel>' http://localhost:6333/collections.

Wenn Sie im Browser http://<Qdrant-Serveradresse>:6333/dashboard öffnen, erscheint ein Dashboard, in dem Sie die Collections und die gespeicherten Daten einsehen können.

Betriebstipps

  • Aktualisierung: Erhöhen Sie die Minor-Version gemäß der offiziellen Upgrade-Anleitung von Qdrant jeweils um eine Stufe (z. B. 1.12 → 1.13). Setzen Sie QDRANT_VERSION auf die nächste Version, laden Sie das Image mit docker pull qdrant/qdrant:${QDRANT_VERSION} herunter, entfernen Sie den Container und starten Sie ihn mit demselben Befehl neu. Die Daten bleiben unter /data/qdrant erhalten.
  • Sicherung: Halten Sie den Container an und kopieren Sie den Ordner /data/qdrant vollständig, oder verwenden Sie die Snapshot-API von Qdrant. Da Vektoren jedoch abgeleitete Daten sind, die sich aus den Originalen neu erzeugen lassen, können Sie die Vektordatenbank auch ohne Sicherung mit Vorhandene Einbettungen synchronisieren in SpaceBuilder neu füllen.
  • Firewall: Beschränken Sie den Zugriff auf die Ports 6333 und 6334 auf den SpaceBuilder-Server. Wenn der Zugriff über HTTPS erfolgen muss, empfehlen wir einen Reverse-Proxy vor Qdrant.

Verbindung einrichten

Geben Sie auf der Seite Wissensspeicher unter Vektordatenbank einrichten Folgendes ein und speichern Sie.

ElementEingabewertBeschreibung
TreiberQdrantVerwendet einen externen Qdrant-Server.
REST-Endpunkthttp://<Qdrant-Serveradresse>:6333Adresse der REST API von Qdrant. Bleibt das Feld leer, wird http://localhost:6333 verwendet.
gRPC-Endpunkt (empfohlen)http://<Qdrant-Serveradresse>:6334Wird bevorzugt für Suche und Vektorspeicherung verwendet. Bleibt das Feld leer, wird die Adresse automatisch aus der REST-Adresse abgeleitet; ist keine Verbindung möglich, wird auf REST umgeschaltet.
CollectionEigener Name für diese Instanz (den aktuellen SpaceBuilder)Wir empfehlen, den auf dem Bildschirm angezeigten empfohlenen Namen (setfn_knowledge_...) zu verwenden.
API-SchlüsselDer in Qdrant festgelegte API-SchlüsselLassen Sie das Feld leer, wenn Sie keine Authentifizierung aktiviert haben. Der gespeicherte Wert wird maskiert angezeigt und bleibt erhalten, solange Sie ihn nicht ändern. Wenn Sie das Feld leeren und speichern, wird er gelöscht.
VektordimensionAusgabedimension des EinbettungsmodellsFür bge-m3 ist es 1024. Bei bekannten Modellen wird der Wert nach der Modellauswahl automatisch eingetragen.

Da Qdrant ein dienstbasierter Speicher ist, wird das Eingabefeld Datenpfad nicht angezeigt. Alle Daten werden auf dem Qdrant-Server gespeichert.

Nach dem Speichern prüft der Indexierungsplaner sofort die neuen Einstellungen und startet bei Bedarf automatisch eine vollständige Neuindexierung aller Originale. Eine separate Synchronisierung ist nicht erforderlich.

Die Collection wird automatisch erstellt

Sie müssen die Collection nicht vorab im Qdrant-Dashboard anlegen. Wenn SpaceBuilder die ersten Suchdaten speichert, erstellt es die Collection mit dem eingestellten Namen und legt zugleich die für Suchfilter benötigten Indizes an.

Automatisch erstelltes ElementWert
VektorformatEinzelner unbenannter Vektor (dense)
VektorgrößeDie eingestellte Vektordimension
DistanzmetrikCosine
FilterindizesInstanz, Generation, Bereich, Eigentümer, Originalpfad

Vor der ersten Indexierung wird in der Vektordatenbank-Übersicht unter Collection-Konfiguration die Meldung Noch nicht erstellt · Wird bei der ersten Indexierung automatisch erstellt angezeigt. Das ist kein Fehler; warten Sie einfach, bis die Indexierung beginnt.

Hinweise zum manuellen Erstellen einer Collection

Collections, die im Qdrant-Dashboard über Create New Collection mit Simple Hybrid Search oder mit benannten Vektoren (Named Vectors) erstellt wurden, sind nicht mit SpaceBuilder kompatibel. Wenn Sie eine solche Collection angeben, wird unter Collection-Konfiguration die Meldung Die Collection-Konfiguration muss geprüft werden angezeigt, und die Indexierung schlägt beim Speichern fehl.

Wenn Sie die Collection selbst erstellen müssen, führen Sie in der Console des Dashboards die folgende Anfrage aus. size muss der eingestellten Vektordimension entsprechen.

PUT /collections/setfn_knowledge_example
{
  "vectors": { "size": 1024, "distance": "Cosine" }
}

Gespeicherte Daten prüfen

Den Qdrant-Status prüfen Sie in der Vektordatenbank-Übersicht.

ElementBedeutung
VerbindungsstatusOb der Qdrant-Server erreichbar ist
Gespeicherte VektorenAnzahl der Vektoren, die diese Instanz gespeichert hat. Daten anderer Instanzen, die dieselbe Collection verwenden, sind nicht enthalten.
Anzahl der CollectionsGesamtzahl der Collections auf dem Qdrant-Server. Auch Collections, die nicht von SpaceBuilder erstellt wurden, sind enthalten.
Collection-KonfigurationOb Dimension und Distanzmetrik der eingestellten Collection zu SpaceBuilder passen

Ein Vektor entspricht einem Dokumentabschnitt (Chunk). Dokumente werden je nach Format zunächst in Abschnitte, Seiten oder Zeilen unterteilt und anschließend in Stücke von etwa 700 bis 1.000 Zeichen (bezogen auf Koreanisch) aufgeteilt und gespeichert. Es ist daher normal, dass die Anzahl der Vektoren deutlich über der Anzahl der Dokumente liegt.

In der Console des Qdrant-Dashboards können Sie die tatsächlich gespeicherten Inhalte einsehen.

Anzahl der Vektoren pro Datei prüfen:

POST /collections/setfn_knowledge_example/facet
{ "key": "source_path", "limit": 50 }

Einige gespeicherte Dokumentabschnitte prüfen:

POST /collections/setfn_knowledge_example/points/scroll
{ "limit": 10, "with_payload": ["source_path", "text"], "with_vector": false }

Wenn mehrere Instanzen ein Qdrant gemeinsam nutzen

Wenn jede Instanz einen eigenen Collection-Namen verwendet, sind die Daten vollständig getrennt. Wenn Sie den Standardnamen der Collection (knowledge_vectors) beibehalten, wird auf dem Bildschirm eine Warnung zusammen mit dem empfohlenen Namen für diese Instanz angezeigt.

Auch bei gemeinsamer Nutzung derselben Collection erhalten neu gespeicherte Vektoren einen Instanz-Isolationsschlüssel, sodass Suche und Löschung auf die Daten der jeweiligen Instanz beschränkt bleiben. Wenn Sie Sicherung, Kapazitätsverwaltung und Löschung jedoch pro Instanz durchführen möchten, ist es sicherer, die Collections zu trennen.

Wenn ein anderes SpaceBuilder-Projekt, das auf demselben Server läuft, dieselbe Collection verwendet, wird auf der Einstellungsseite eine Warnung angezeigt.

Verwandte Dokumente