Die Embedding API wandelt Text in Vektoren um. Diese Vektoren dienen der semantischen Suche, RAG-Anwendungen, Clusterbildung, Duplikaterkennung und Empfehlungssystemen. Die API erzeugt keinen Text, ist aber die Grundlage fast jeder Wissensdatenbank-Anwendung.

Dieser Artikel erklärt, wie man die Embedding API aufruft, wie man ein Modell auswählt und wie Kosten und Qualität bewertet werden.

Hinweis: Embedding-Modelle verschiedener Anbieter haben unterschiedliche Schnittstellen und Dimensionen. Dieser Artikel verwendet die OpenAI-kompatible Schnittstelle als Beispiel; maßgeblich sind die offizielle Dokumentation und die Angaben auf der Website.

1. Was Embeddings leisten

  • Semantische Suche: Inhalte werden nach Bedeutung gefunden, nicht nach exakter Wortübereinstimmung.
  • RAG: Dokumente werden in Abschnitte geteilt, vektorisiert und nach der Suche an ein Sprachmodell übergeben.
  • Clustering und Klassifikation: ähnliche Texte werden gruppiert.
  • Duplikaterkennung: wiederholte oder nahezu identische Inhalte werden gefunden.
  • Empfehlungen: ähnliche Artikel oder Produkte werden ermittelt.

Der Unterschied zur Volltextsuche liegt darin, dass auch synonyme Formulierungen erfasst werden. Die Qualität hängt jedoch stark von der Segmentierung und vom gewählten Modell ab.

2. Aufruf

Die OpenAI-kompatible Schnittstelle lautet üblicherweise:

POST /v1/embeddings

Anfrage:

{
  "model": "text-embedding-3-small",
  "input": ["Erster Textabschnitt", "Zweiter Textabschnitt"]
}

Zurück kommen die Vektoren für jeden Text. Modellname und Dimension richten sich nach den Modellpreisen. Die Dimension ist nicht nur eine technische Angabe: Sie bestimmt auch Speicherbedarf und Rechenaufwand der Vektordatenbank.

3. Python-Beispiel

from openai import OpenAI

client = OpenAI(
    api_key="sk-IHR_KEY",
    base_url="https://ai.zhongshangqihang.com/v1",
)

resp = client.embeddings.create(
    model="text-embedding-3-small",
    input=["Was ist ein API-Gateway", "Was bedeutet API Gateway"],
)
print(len(resp.data[0].embedding))

In der Praxis sollten Anfragen gebündelt werden. Viele Modelle erlauben mehrere Eingaben pro Aufruf; das reduziert Netzwerkaufwand und beschleunigt die Verarbeitung großer Dokumentmengen.

4. Der grundlegende RAG-Ablauf

  1. Dokumente bereinigen und in Abschnitte teilen, etwa nach Absatz oder Überschrift.
  2. Für jeden Abschnitt ein Embedding erzeugen.
  3. Die Vektoren in einer Vektordatenbank speichern, beispielsweise pgvector, Milvus oder Qdrant.
  4. Bei einer Nutzerfrage auch die Frage vektorisieren.
  5. Die ähnlichsten Abschnitte abrufen.
  6. Die Treffer zusammen mit der Frage an das Sprachmodell übergeben.

Die Größe der Abschnitte, die Überlappung und die Metadaten wie Quelle und Berechtigung beeinflussen das Ergebnis direkt. Zu große Abschnitte verwässern die Suche, zu kleine verlieren den Zusammenhang.

5. Modell auswählen

Kriterium Worauf achten
Dimension Höher ist nicht automatisch besser; Kosten und Speicher steigen
Sprache Leistung bei Deutsch und Mehrsprachigkeit
Maximale Eingabe Länge eines einzelnen Abschnitts
Preis Abrechnung nach Token
Konsistenz Alte Vektoren passen nicht zu einem neuen Modell
Betrieb Private Bereitstellung und Datenschutz möglich

Ein Modellwechsel ist kein reiner Konfigurationswechsel. Nach dem Wechsel müssen alle vorhandenen Vektoren neu erzeugt werden, sonst sind die Ähnlichkeitswerte nicht mehr vergleichbar.

6. Kosten berechnen

Monatliche Kosten =
  Token der Dokumente × Preis
+ Token der Suchanfragen × Preis
+ Speicher und Bandbreite für Vektoren

Die Vektorisierung der Dokumente ist meist eine einmalige Ausgabe, die Suchanfragen verursachen laufende Kosten. Ein Modellwechsel bedeutet eine vollständige Neuvektorisierung der Datenbank; dieser Aufwand sollte vor der Entscheidung berechnet werden.

7. Häufige Fallstricke

  • Nach einem Modellwechsel werden alte und neue Vektoren gemischt, wodurch die Suche unbrauchbar wird.
  • Abschnitte sind zu groß und die Suche wird unpräzise, oder zu klein und der Kontext geht verloren.
  • Quelle und Berechtigungen werden nicht gespeichert, sodass Antworten nicht nachvollziehbar sind.
  • Es wird nur Vektorsuche betrieben, ohne Keyword-Suche als Ergänzung; die Trefferquote schwankt.
  • Die mehrsprachige Leistung wird nicht geprüft.

Eine Kombination aus Vektor- und Keyword-Suche ist in vielen Fällen robuster als eine reine Vektorsuche. Besonders bei Eigennamen und seltenen Begriffen liefert die Keyword-Suche oft bessere Treffer.

Häufige Fragen

Worin unterscheiden sich Embeddings und Sprachmodelle?

Embeddings geben Vektoren aus, die für Suche und Clustering verwendet werden. Sprachmodelle geben Text aus und dienen der Generierung und Schlussfolgerung.

Ist ein lokaler Betrieb möglich?

Ja, offene Embedding-Modelle lassen sich privat betreiben. Dafür werden jedoch GPU-Ressourcen und Betriebsaufwand benötigt.

Kann ein Key Embeddings und Chat gleichzeitig nutzen?

In einem Gateway ist das üblicherweise möglich; das Modell wird im Anfrageparameter angegeben.

Nächster Schritt

Wer einen einheitlichen Einstieg, nutzungsabhängige Abrechnung und mehrere Modelle braucht, kann sich beim ZSQH AI Gateway registrieren und Embedding- sowie Chat-Modelle mit kleinen Mengen testen. Modelle und Preise stehen auf der Seite Modellpreise.

Weiterlesen: