Skip to main content
Embedding-Modelle wandeln Texte in Vektoren um und ermöglichen so die semantische Suche in Wissensdatenbanken. Sie werden für die Dokumentenverarbeitung und das Retrieval-Augmented-Generation-Verfahren (RAG) benötigt.

Grunddaten

Kosten

DLP-Sicherheitseinstellungen

DSGVO-konforme Datensicherung

Legen Sie fest, ob Texte pseudonymisiert werden, bevor sie an dieses Embedding-Modell gehen – beim Indexieren von Dokumenten und bei jeder Suche. Das ist vor allem wichtig, wenn das Embedding-Modell bei einem Cloud-Anbieter läuft. Eine Änderung dieser Einstellung löst keine neue Indexierung aus. Bereits indexierte Dokumente behalten ihre Embeddings; die neue Einstellung gilt für Suchanfragen und für künftige Indexierungen.
Die Einstellung betrifft nur, was das Embedding-Modell erhält. Die Wissensdatenbank speichert die Inhalte im Klartext, damit die Volltextsuche auch Namen, IBANs oder Aktenzeichen findet. Was das Sprachmodell aus den Suchergebnissen sieht, legt die Einstellung Datenschutz (DLP) der jeweiligen Wissensdatenbank fest: Bei Pseudonymisiert und aktiver DLP im Chat erhält es pseudonymisierte Ergebnisse, ohne DLP im Chat oder bei Ungeprüft den Klartext.
Dokumente, die vor Version 2026.10 indexiert wurden, enthalten in ihren gespeicherten Textabschnitten noch Pseudonyme statt des Klartexts. Das ändert sich erst, wenn Sie einen der folgenden Befehle ausführen:
  • ./flow knowledgebaseembedding:reindex stellt Dokumente, deren Textabschnitte noch Pseudonyme enthalten, für eine neue Indexierung ein. Die Indexierung übernimmt anschließend der Cronjob knowledgebaseembedding:generateembeddings; die Texte werden dabei erneut an das Embedding-Modell gesendet.
  • ./flow knowledgebaseembedding:reindex --restore-tokens setzt den Klartext direkt in der Datenbank wieder ein, ohne die Dokumente neu zu indexieren. Dokumente, bei denen nicht alle Pseudonyme aufgelöst werden können, werden für eine neue Indexierung eingestellt.
Mit --dry-run zeigen beide Befehle nur an, welche Dokumente betroffen sind, ohne etwas zu ändern.

ICAP DLP Integration

Verbinden Sie Ihren Daten-Exit mit Ihrer Enterprise DLP-Lösung.
Embedding-Modelle haben im Vergleich zu Chat-Modellen weniger Konfigurationsoptionen, da sie ausschließlich für die Vektorisierung von Texten eingesetzt werden und keine direkte Nutzer-Interaktion haben.

Lokales Embedding-Modell betreiben

Sie können Embeddings auf Ihrem eigenen Server erzeugen, statt einen externen Anbieter zu nutzen. Die Inhalte Ihrer Wissensdatenbanken verlassen den Server dann für die Vektorisierung nicht. VARIOS AI bindet ein lokales Modell über die Zugangsdaten OpenAI Kompatibel an. Geeignet ist jeder Modellserver, der die OpenAI-Schnittstelle /v1/embeddings bereitstellt. Diese Anleitung beschreibt zwei Modellserver, die als zusätzlicher Dienst in Ihrer Docker-Compose-Installation laufen. Beide verwenden das mehrsprachige Modell bge-m3.
Text Embeddings Inference, Ollama und das Modell bge-m3 sind Angebote von Drittanbietern und nicht Bestandteil von VARIOS AI. Die folgende Konfiguration ist ein Vorschlag, den Sie an Ihre Umgebung anpassen. Betrieb, Aktualisierung und Absicherung des Modellservers sowie die Einhaltung der Lizenzbedingungen von Software und Modell liegen in Ihrer Verantwortung.
Verwenden Sie TEI, wenn viele Nutzer gleichzeitig Wissensdatenbanken durchsuchen oder große Datenmengen eingebettet werden.
VARIOS AI speichert alle Embeddings mit 1.536 Dimensionen. Kürzere Vektoren werden aufgefüllt, längere abgeschnitten. Verwenden Sie deshalb ein Modell mit höchstens 1.536 Dimensionen. bge-m3 erzeugt Vektoren mit 1.024 Dimensionen.

Modellserver einrichten

1

Dienst in der docker-compose.yml ergänzen

Fügen Sie in der docker-compose.yml unter services einen Dienst tei hinzu. Der Dienst muss sich im selben Netzwerk wie der Dienst php befinden, in der Standardinstallation internal.
Hugging Face stellt die offiziellen Images je Hardware bereit. cpu-1.9 läuft ohne GPU. Für Server mit NVIDIA-GPU gibt es eigene Images, zum Beispiel 89-1.9 für die Ada-Lovelace-Generation. Der Update-Helfer führt bei jedem Update docker compose pull aus; mit einer festen Version aktualisieren Sie TEI nur dann, wenn Sie die Version selbst ändern.MODEL_ID legt das Modell fest. MAX_BATCH_TOKENS begrenzt, wie viele Token TEI in einem Durchlauf verarbeitet, und damit auch die maximale Länge einer Eingabe; längere Eingaben kürzt TEI. Ohne diese Angabe verwendet TEI 16384 und prüft beim Start mit einer Anfrage dieser Größe, ob das Modell läuft. Dafür reicht der Arbeitsspeicher eines Servers ohne GPU häufig nicht. Bei der standardmäßigen Chunk-Größe von 2.000 Zeichen reicht 2048 in der Regel aus, da ein Token meist mehrere Zeichen umfasst. Erhöhen Sie den Wert, wenn Sie die Chunk-Größe erhöhen.Das Verzeichnis ./TEI auf dem Host speichert das heruntergeladene Modell. Veröffentlichen Sie keinen Port des Dienstes: VARIOS AI erreicht TEI über das interne Netzwerk.
2

Dienst starten

Beim ersten Start lädt TEI das Modell von Hugging Face herunter. Das kann einige Minuten dauern. Benötigt der Server dafür einen Proxyserver, lesen Sie zuerst Modell über einen Proxyserver herunterladen.TEI nimmt erst Anfragen an, wenn das Modell heruntergeladen und geladen ist. Warten Sie, bis das Protokoll die Meldung Ready zeigt, und beenden Sie die Anzeige mit Strg+C. Prüfen Sie anschließend, ob der PHP-Container das Modell erreicht:
Die Antwort enthält im Feld data einen Vektor unter embedding.

Modell über einen Proxyserver herunterladen

TEI und Ollama benötigen einen Internetzugang, um das Modell herunterzuladen. Muss dieser Zugang über einen Proxyserver laufen, tragen Sie den Proxyserver beim jeweiligen Dienst in der Umgebungsvariable HTTPS_PROXY ein:
Verlangt der Proxyserver eine Anmeldung, ergänzen Sie Benutzername und Passwort in der Adresse, zum Beispiel http://benutzer:passwort@proxy.example.com:8080. Das Passwort steht dann im Klartext in der docker-compose.yml. Setzen Sie für Ollama nicht zusätzlich HTTP_PROXY. Ollama lädt Modelle ausschließlich über HTTPS; HTTP_PROXY kann laut Ollama die Verbindung von ollama pull zum eigenen Dienst stören.
Der Proxyserver betrifft nur die Verbindung des Modellservers ins Internet. Die Anfragen von VARIOS AI an den Modellserver laufen über das interne Docker-Netzwerk. Den Proxyserver von VARIOS AI selbst konfigurieren Sie unter Allgemein, siehe Fehlerbehebung.

Proxyserver mit TLS-Inspection

Bricht der Proxyserver die TLS-Verbindung auf und signiert sie mit einem eigenen Zertifikat neu, muss der Modellserver dem CA-Zertifikat des Proxyservers vertrauen. Binden Sie das Zertifikat wie für den PHP-Container ein und übernehmen Sie es beim Start mit update-ca-certificates in den Trust Store des Containers. Die Anforderungen an die Zertifikatsdatei finden Sie unter Vertrauenswürdige Zertifizierungsstellen einrichten.
Starten Sie den Dienst anschließend mit docker compose up -d tei bzw. docker compose up -d ollama neu.

Modell in VARIOS AI hinterlegen

1

Zugangsdaten anlegen

Legen Sie unter Zugangsdaten neue Zugangsdaten mit dem Anbieter OpenAI Kompatibel an.Beide Modellserver prüfen den API-Schlüssel in dieser Konfiguration nicht. VARIOS AI verlangt das Feld jedoch.
2

Embedding-Modell anlegen

Legen Sie unter Modelle im Tab Embedding Modelle ein neues Modell an. Tragen Sie als Modellname BAAI/bge-m3 (TEI) bzw. bge-m3 (Ollama) ein und wählen Sie unter Zugangsdaten die eben angelegten Zugangsdaten. Die Kostenfelder können Sie leer lassen.
3

Modell verwenden

Wählen Sie das Modell in einer Wissensdatenbank als KI-Modell zur Generierung von Embeddings aus. Soll es für alle neuen Wissensdatenbanken gelten, hinterlegen Sie es unter Allgemein als Standard KI-Modell zur Generierung von Embeddings.
Wenn Sie das Embedding-Modell einer bestehenden Wissensdatenbank wechseln, bettet VARIOS AI alle Dokumente dieser Wissensdatenbank mit dem neuen Modell erneut ein. Bis die Verarbeitung abgeschlossen ist, liefert die Suche nur Ergebnisse aus bereits verarbeiteten Dokumenten.
Beide Modellserver laufen ohne GPU, benötigen aber zusätzlichen Arbeitsspeicher und Prozessorleistung. Berücksichtigen Sie diesen Bedarf zusätzlich zum Sizing-Leitfaden, insbesondere wenn Sie große Datenmengen einbetten.

Fehlerbehebung

Prüfen Sie mit docker compose ps, ob der Dienst tei bzw. ollama läuft, und mit docker compose logs tei bzw. docker compose logs ollama, ob das Modell geladen wurde. Bei Ollama zeigt docker compose exec ollama ollama list die heruntergeladenen Modelle. Der Modellname in VARIOS AI muss dem Modellnamen im Modellserver entsprechen.
TEI öffnet den Port erst, wenn das Modell heruntergeladen und geladen ist. Prüfen Sie mit docker compose logs tei, ob die Meldung Ready erscheint. Läuft der Download noch, warten Sie ihn ab. Startet der Dienst laut docker compose ps tei immer wieder neu, nennt das Protokoll die Ursache, zum Beispiel einen fehlgeschlagenen Download.
Der Code 137 bedeutet, dass der Prozess beendet wurde, in der Regel wegen fehlenden Arbeitsspeichers. Beim Aufwärmen belegt TEI den meisten Speicher. Setzen Sie MAX_BATCH_TOKENS wie oben beschrieben auf 2048 und starten Sie den Dienst mit docker compose up -d tei neu. Ein kleinerer Wert senkt den Speicherbedarf weiter. MAX_BATCH_TOKENS zählt jedoch Token, nicht Zeichen: Umfasst ein Chunk mehr Token als dieser Wert, kürzt TEI ihn, und der Rest fließt nicht in das Embedding ein.
Prüfen Sie, ob der Server das Internet direkt oder über den in HTTPS_PROXY eingetragenen Proxyserver erreicht. Meldet das Protokoll einen Zertifikatsfehler, bricht der Proxyserver die TLS-Verbindung vermutlich auf. Binden Sie dann das CA-Zertifikat ein, wie unter Proxyserver mit TLS-Inspection beschrieben.
Ollama hat das Modell entladen und lädt es bei der Anfrage neu. VARIOS AI wartet höchstens 30 Sekunden auf eine Antwort. Prüfen Sie mit docker compose exec ollama ollama ps, ob das Modell geladen ist und bis wann es geladen bleibt. Setzen Sie OLLAMA_KEEP_ALIVE wie oben beschrieben und starten Sie den Dienst mit docker compose up -d ollama neu.
Ist unter Allgemein ein Proxyserver hinterlegt, leitet VARIOS AI auch die Anfragen an den Modellserver über den Proxy. Tragen Sie tei bzw. ollama unter Proxy-Ausnahmen (kommagetrennte Hostnamen) ein.
Der Modellserver und der Dienst php befinden sich nicht im selben Docker-Netzwerk. Prüfen Sie den Eintrag networks beider Dienste in der docker-compose.yml.