Skip to content

Qdrant-Installation

Qdrant ist eine Vektordatenbank, die eine schnelle Ähnlichkeitssuche in Embeddings ermöglicht.

Sie wird für die KI-gestützte semantische Suche benötigt.

Diese Anleitung setzt eine funktionsfähige Installation von Docker und Docker Compose unter Linux voraus.

  1. Verzeichnis anlegen

    Lege auf dem Docker-Host ein Verzeichnis für Qdrant an:

    Terminal window
    sudo mkdir -p /opt/qdrant
    cd /opt/qdrant
  2. API-Schlüssel erzeugen

    Erzeuge zwei sichere API-Schlüssel:

    Terminal window
    openssl rand -hex 32
    openssl rand -hex 32

    Die Schlüssel werden folgendermaßen verwendet:

    • Der erste Schlüssel gewährt Lese-, Schreib- und Administrationszugriff.
    • Der zweite Schlüssel gewährt ausschließlich Lesezugriff.

    Bewahre beide Schlüssel sicher auf.

  3. Umgebungsvariablen anlegen

    Öffne eine neue .env-Datei:

    Terminal window
    nano .env

    Füge folgenden Inhalt ein und ersetze die Platzhalter durch die zuvor erzeugten Schlüssel:

    QDRANT_BIND_IP=0.0.0.0
    QDRANT_API_KEY=hier-den-ersten-schluessel-eintragen
    QDRANT_READ_ONLY_API_KEY=hier-den-zweiten-schluessel-eintragen

    Speichere die Datei und beende den Editor.

    Schütze die Datei anschließend vor dem Zugriff anderer Benutzer:

    Terminal window
    chmod 600 .env

    0.0.0.0 bewirkt, dass Qdrant auf allen IPv4-Netzwerkschnittstellen des Docker-Hosts erreichbar ist. Der Port sollte deshalb durch eine Firewall auf die berechtigten WWS-Server eingeschränkt werden.

  4. Docker-Compose-Datei anlegen

    Öffne eine neue docker-compose.yml:

    Terminal window
    nano docker-compose.yml

    Füge folgenden Inhalt ein:

    services:
    qdrant:
    image: qdrant/qdrant:latest
    container_name: qdrant
    restart: unless-stopped
    ports:
    - "${QDRANT_BIND_IP}:6333:6333"
    environment:
    QDRANT__SERVICE__API_KEY: "${QDRANT_API_KEY}"
    QDRANT__SERVICE__READ_ONLY_API_KEY: "${QDRANT_READ_ONLY_API_KEY}"
    volumes:
    - qdrant_storage:/qdrant/storage
    logging:
    driver: json-file
    options:
    max-size: "20m"
    max-file: "5"
    volumes:
    qdrant_storage:
    name: qdrant_storage

    Speichere die Datei und beende den Editor.

  5. Container starten

    Wechsle in das Qdrant-Verzeichnis und lade das aktuelle Container-Image:

    Terminal window
    cd /opt/qdrant
    docker compose pull
    docker compose up -d

    Kontrolliere anschließend den Status des Containers:

    Terminal window
    docker compose ps
    docker compose logs --tail=100 qdrant
  6. Zugriff ohne API-Schlüssel testen

    Ein Zugriff ohne API-Schlüssel muss abgelehnt werden:

    Terminal window
    curl http://127.0.0.1:6333/collections

    Qdrant sollte mit dem HTTP-Status 401 Unauthorized antworten.

  7. Zugriff mit API-Schlüssel testen

    Führe die Anfrage erneut mit dem Lese-/Schreibschlüssel aus:

    Terminal window
    curl \
    -H "api-key: hier-den-ersten-schluessel-eintragen" \
    http://127.0.0.1:6333/collections

    Die Antwort sollte ungefähr folgendermaßen aussehen:

    {
    "result": {
    "collections": []
    },
    "status": "ok",
    "time": 0.000012
    }
  8. Weboberfläche öffnen

    Die Qdrant-Weboberfläche ist unter folgender Adresse erreichbar:

    http://DOCKER-HOST:6333/dashboard

    Ersetze DOCKER-HOST durch den Hostnamen oder die IP-Adresse des Docker-Hosts.

  9. Konfiguration in WWS MaX

    Die Konfiguration von Qdrant als Vector Datenbank wird unter Hauptmenü > Systemeinstellungen > Künstliche Intelligenz vorgenommen.

    Tragen Sie dort unter Semantische Suche - Vector Speicher die Zugangsdaten zur Qdrant-Installation ein.

    Als Endpunkt geben sie die Adresse an, über welche auch die Weboberfläche erreichbar ist. Beispielsweise http://DOCKER-HOST:6333/.

    Prüfen Sie anschließend die Konfiguration durch Klick auf Verbindung prüfen.

Qdrant ist bei dieser Konfiguration auf allen Netzwerkschnittstellen des Docker-Hosts erreichbar.

Beachte deshalb folgende Punkte: