BazaarLinkBazaarLink
Anmelden
DokumentationAPI-ReferenzSDK-ReferenzAgentic-NutzungKI-Skills
Inhalt

Embeddings

Embeddings

Embeddings sind numerische Darstellungen von Text, die semantische Bedeutung erfassen — sie wandeln Text in Vektoren (Zahlenfolgen) um, die für vielfältige Machine-Learning-Aufgaben genutzt werden können. BazaarLink bietet einen einheitlichen, zur OpenAI Embeddings API kompatiblen Endpunkt, über den Sie Embedding-Modelle mehrerer Anbieter über eine einzige Schnittstelle aufrufen können.

Embedding-Antworten verwenden eine opake BazaarLink-Anfrage-ID, die mit x-request-id übereinstimmt; verwenden Sie sie mit GET /v1/generation. Die nicht gestreamte Antwort gibt dieselbe ID auch in x-generation-id zurück. usage.cost ist der für diese Anfrage berechnete USD-Betrag. Statistiken können erst Sekunden später verfügbar sein; wiederholen Sie 404 kurzzeitig.

Was sind Embeddings?

Embeddings wandeln Text in hochdimensionale Vektoren um, bei denen semantisch ähnliche Texte im Vektorraum näher beieinanderliegen — zum Beispiel hätten "Katze" und "Kätzchen" ähnliche Embeddings, während "Katze" und "Flugzeug" weit auseinanderlägen. Diese Vektordarstellungen ermöglichen es Maschinen, Beziehungen zwischen Textabschnitten zu verstehen, und bilden damit die Grundlage vieler KI-Anwendungen.

Typische Anwendungsfälle

Anwendungsfall
Beschreibung
RAG (Abruf-erweiterte Generierung)Systeme entwickeln, die vor der Antwortgenerierung relevanten Kontext aus einer Wissensdatenbank abrufen — Embeddings finden die relevantesten Dokumente für den Kontext des LLM.
Semantische SucheDokumente und Anfragen in Embeddings umwandeln und dann die relevantesten Dokumente über Vektorähnlichkeit finden — versteht Bedeutung statt nur Schlüsselwörter abzugleichen und liefert bessere Ergebnisse als reine Schlüsselwortsuche.
EmpfehlungssystemeEmbeddings für Artikel (Produkte, Beiträge, Videos) und Nutzerpräferenzen erzeugen, um ähnliche Artikel zu empfehlen — Vektorvergleich findet semantisch verwandte Artikel auch ohne gemeinsame Schlüsselwörter.
Clustering & KlassifizierungÄhnliche Dokumente gruppieren oder Text klassifizieren, indem Embedding-Muster analysiert werden — Dokumente mit ähnlichen Embeddings gehören meist zum selben Thema oder zur selben Kategorie.
DuplikaterkennungDuplikate oder nahezu identische Inhalte durch Vergleich der Embedding-Ähnlichkeit finden — funktioniert auch bei umformuliertem Inhalt.
AnomalieerkennungUngewöhnliche oder abweichende Inhalte erkennen, indem Embeddings identifiziert werden, die deutlich vom typischen Muster des Datensatzes abweichen.
POST/v1/embeddings
Note
Unterstützt eine Upstream-Quelle das angeforderte Embeddings-Modell nicht, kann die Anfrage eine andere verfügbare Quelle versuchen. Gibt es keine passende Quelle, wird ein Fehler zurückgegeben.

Parameter

modelerforderlich
string
Das zu verwendende Embedding-Modell, z. B. "openai/text-embedding-3-small".
inputerforderlich
string | string[] | ContentItem[]
Zu embeddender Text — ein einzelner String, ein Array von Strings für einen Batch-Aufruf, oder (bei unterstützenden Modellen) ein Array von {content:[...]}-Elementen mit Text- und image_url-Teilen.
dimensions
integer
Angeforderte Ausgabevektorgröße. Wird nur von Modellen mit variabler Dimension unterstützt (z. B. die OpenAI text-embedding-3-Familie); wird unverändert an den Upstream-Anbieter weitergeleitet und von nicht unterstützenden Modellen ignoriert.
encoding_format
string
Angefordertes Embedding-Encoding, z. B. "float" oder "base64". Wird unverändert an den Upstream-Anbieter weitergeleitet — die Unterstützung hängt vom Modell ab.
provider
object
Unsupported. The entire object is ignored and removed before forwarding; it cannot select an upstream or price tier.

Einfache Anfrage

from openai import OpenAI

client = OpenAI(
    base_url="https://api.bazaarlink.ai/v1",
    api_key="sk-bl-YOUR_API_KEY",
)

response = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input="The quick brown fox jumps over the lazy dog",
)

print(response.data[0].embedding)  # 1536-dimensional vector

Batch-Verarbeitung

Senden Sie ein Array von Strings, um mehrere Texte in einer einzigen Anfrage zu embedden — günstiger und schneller als ein Aufruf pro Text.

response = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input=[
        "Machine learning is a subset of artificial intelligence",
        "Deep learning uses neural networks with multiple layers",
        "Natural language processing enables computers to understand text",
    ],
)

for i, item in enumerate(response.data):
    print(f"Embedding {i}: {len(item.embedding)} dimensions")

Multimodale Eingabe (Bild + Text)

Modelle mit Bildeingabe-Unterstützung (output_modalities enthält "embeddings", inputModalities enthält "image") akzeptieren Eingabe-Elemente in der Form {content:[{type:"text",...}, {type:"image_url",...}]} — so können Sie ein Bild allein oder gemeinsam mit Text embedden.

Modellabhängig
Nur manche Embedding-Modelle akzeptieren Bildeingaben — prüfen Sie die unterstützten Modalitäten eines Modells auf der Modelle-Seite, bevor Sie image_url-Inhalte senden. Reine Textmodelle lehnen diese Form ab.
import requests

response = requests.post(
    "https://api.bazaarlink.ai/v1/embeddings",
    headers={
        "Authorization": "Bearer sk-bl-YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "google/gemini-embedding-2-preview",
        "input": [{
            "content": [
                {"type": "text", "text": "A scenic boardwalk through a green meadow"},
                {"type": "image_url", "image_url": {"url": "https://example.com/boardwalk.jpg"}},
            ]
        }],
        "encoding_format": "float",
    },
)

embedding = response.json()["data"][0]["embedding"]
print(f"Embedding dimension: {len(embedding)}")

Embedding-Modelle finden

Es gibt keinen eigenen Endpunkt zum Auflisten von Embedding-Modellen — rufen Sie GET /v1/models auf und filtern Sie clientseitig nach Einträgen, deren output_modalities "embeddings" enthält, oder durchsuchen Sie die Modelle-Seite.

Einschränkungen

  • Kein Streaming — Embeddings werden immer als vollständige Antwort zurückgegeben, anders als bei Chat Completions.
  • Jedes Modell hat eine maximale Eingabelänge; Text darüber hinaus wird upstream gekürzt oder abgelehnt.
  • Embeddings für identische Eingaben sind deterministisch — keine Temperature oder Zufälligkeit im Spiel.

Best Practices

  • Wählen Sie ein Modell nach Geschwindigkeit/Qualität/Kosten — kleinere Modelle (z. B. qwen/qwen3-embedding-4b) sind günstiger und schneller; größere (z. B. openai/text-embedding-3-large) embedden meist mit höherer Genauigkeit.
  • Fassen Sie mehrere Texte in einer Anfrage zusammen statt einem Aufruf pro Text — weniger Roundtrips, geringerer Overhead.
  • Cachen Sie Ergebnisse — Embeddings für dieselbe Eingabe ändern sich nie, speichern Sie sie statt sie neu zu erzeugen.
  • Vergleichen Sie mit Kosinus-Ähnlichkeit, nicht mit euklidischem Abstand — sie ist skaleninvariant und funktioniert besser bei hochdimensionalen Vektoren.
  • Achten Sie auf die Kontextlänge jedes Modells — lange Dokumente müssen vor dem Embedding evtl. in Abschnitte zerlegt werden.
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Embeddings | BazaarLink