vector ping

vector ping prüft, ob der konfigurierte Embedding-Service erreichbar ist und ob das vorgesehene Modell dort geladen ist. Reine Diagnose — kein Index wird angefasst, keine Datei mutiert.

Wofür ist das?

Drei Szenarien sind die typischen Aufrufer:

Aufruf

apparat vector ping

Das Kommando hat keine Optionen. Endpoint und Modell­name kommen aus den Umgebungs­variablen APPARAT_EMBEDDING_ENDPOINT und APPARAT_EMBEDDING_MODEL.

Beispielausgaben

Alles in Ordnung:

✅ Service reachable.
  Available models:
    - jina/jina-embeddings-v2-base-de:latest
✅ Configured model is loaded.

Service erreichbar, Modell fehlt:

✅ Service reachable.
  Available models:
    - some-other-model:latest
⚠ Configured model is not loaded.
  Model "jina/jina-embeddings-v2-base-de" not loaded. Run: docker compose exec ollama ollama pull jina/jina-embeddings-v2-base-de

Service unerreichbar:

❌ Service unreachable.
  Connection to http://ollama:11434 failed: …

Exit-Codes

Code Bedeutung
0 Service erreichbar und konfiguriertes Modell geladen.
1 Service unerreichbar (Container nicht gestartet, Netz blockiert, Endpoint fehlerhaft konfiguriert).
2 Service erreichbar, aber das konfigurierte Modell ist nicht geladen. Das Detail aus der Ausgabe enthält den passenden ollama pull …-Befehl.

Die Trennung zwischen 1 und 2 macht den Unterschied zwischen Infrastruktur-Problem (Code 1) und Setup-Lücke (Code 2) sichtbar — relevant für Monitoring-Skripte und für die Entscheidung, ob ein Pull oder ein Container-Neustart die Lösung ist.

Konfiguration

Umgebungs­variable Bedeutung Default
APPARAT_EMBEDDING_ENDPOINT Basis-URL der Ollama-API. Wird intern um /api/tags ergänzt. http://ollama:11434 (im Container)
APPARAT_EMBEDDING_MODEL Modell­name, der erwartet wird. :latest-Suffix ist optional. jina/jina-embeddings-v2-base-de
APPARAT_EMBEDDING_TIMEOUT Timeout pro HTTP-Aufruf in Sekunden. 30

Auf dem Host (außerhalb des Containers) zeigt http://ollama:11434 ins Leere, weil dort kein DNS-Eintrag für ollama existiert. In einer lokalen .env setzt du den Endpoint dann auf http://localhost:11434, falls du Ollama direkt auf dem Host installiert hast.

Was nebenbei wichtig ist

vector ping ist eine reine Diagnose: es prüft Erreichbarkeit und Modell-Liste, lädt aber keine Modelle nach (der ollama pull-Befehl in der Ausgabe ist ein Vorschlag, kein Aufruf) und macht keinen echten Embedding-Aufruf. Ob das Modell tatsächlich Vektoren produziert, zeigt sich beim ersten produktiven Lauf — typischerweise vector rebuild oder entity search --semantic. Der Vault selbst wird nicht angefasst.