Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Einbettung ist ein Vektor von Gleitkommazahlen, der die semantische Bedeutung von Text darstellt. Ähnlicher Text erzeugt Vektoren, die eng miteinander verbunden sind, wodurch Einbettungen für die Vektorsuche, Empfehlungen, Klassifizierung und Clustering nützlich sind.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie eine kostenlos , wenn Sie keins haben.
- Eine Azure OpenAI-Ressource mit einer Einbettungsmodellbereitstellung.
- Ihr Ressourcenendpunkt, wie zum Beispiel
https://YOUR-RESOURCE-NAME.openai.azure.com. - Für die Microsoft Entra ID-Authentifizierung, eine Identität, der für die Azure OpenAI-Ressource die Rolle
Cognitive Services OpenAI Userzugewiesen ist. Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung für Azure OpenAI. - Die Azure CLI für die lokale Authentifizierung.
- Der Laufzeit- und Paket-Manager für die von Ihnen ausgewählte Sprache.
Weitere sprachspezifische Einrichtungsanleitungen finden Sie unter Azure OpenAI unterstützte Programmiersprachen.
Der Wert model in jeder Anfrage ist der Bereitstellungsname Ihres Azure-Modells. Die Beispiele verwenden text-embedding-3-small; ersetzen Sie es, wenn Ihre Bereitstellung einen anderen Namen hat.
Ein Embedding generieren
Senden Sie Text an den Endpunkt der Einbettungen, und lesen Sie den Vektor aus dem ersten Element in der Antwort.
Die v1-Einbettungs-API unterstützt Microsoft Entra ID- und API-Schlüsselauthentifizierung. Microsoft Entra ID wird empfohlen, da dadurch keine langlebigen Anmeldeinformationen gespeichert werden. In den Beispielen in diesem Artikel wird Microsoft Entra ID verwendet.
Melden Sie sich für die lokale Entwicklung bei Azure an, bevor Sie ein SDK-Beispiel ausführen:
az login
DefaultAzureCredentialverwendet Ihre angemeldete Identität lokal und kann eine verwaltete Identität verwenden, wenn Ihre Anwendung in Azure ausgeführt wird.
Die API-Schlüsselauthentifizierung wird ebenfalls unterstützt. Informationen zur schlüsselbasierten Clientkonfiguration finden Sie unter Azure OpenAI v1-API-Leitfaden.
Installieren Sie die OpenAI- und Azure Identity-Pakete:
pip install openai azure-identity
Generieren Sie eine Einbettung, und drucken Sie deren Abmessungen:
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
endpoint = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
openai = OpenAI(
base_url=endpoint,
api_key=token_provider,
)
# Generate one embedding vector.
response = openai.embeddings.create(
model="text-embedding-3-small",
input="The quick brown fox jumped over the lazy dog.",
)
print(f"Embedding dimensions: {len(response.data[0].embedding)}")
Embedding dimensions: <number>
Referenz: embeddings.create
Bewährte Methoden
Tip
Einbettungsanforderungen geben HTTP 400 zurück, wenn die Summe der Eingabetoken 300.000 überschreitet, auch wenn jede einzelne Eingabe unter dem Grenzwert pro Eingabe liegt. Teilen Sie große Batches in kleinere Anforderungen auf.
Überprüfen, ob Eingaben die maximale Länge nicht überschreiten
- Die maximale Eingabelänge für die aktuellen Einbettungsmodelle beträgt 8.192 Token. Überprüfen Sie die einzelnen Eingaben, bevor Sie die Anforderung senden.
- Wenn Sie ein Array von Eingaben in einer einzigen Einbettungsanforderung senden, beträgt die maximale Arraygröße 2.048.
- Jede
/embeddingsAnforderung verfügt über einen 300.000-Token-Aggregatgrenzwert für alle Eingaben. Anforderungen oberhalb dieses Grenzwerts schlagen mit HTTP 400 fehl. - Halten Sie die Gesamtzahl der Token pro Minute unter dem Kontingent, das Ihrer Modellbereitstellung zugewiesen ist. Aktuelle Grenzwerte finden Sie unter Azure OpenAI-Kontingente und -Grenzwerte.
Problembehandlung
- Bei einer
401-Antwort melden Sie sich erneut an und vergewissern Sie sich, dass das Zugriffstoken die richtige Audience verwendet. - Vergewissern Sie sich für eine
403-Antwort, dass Ihrer Identität für die Azure OpenAI-Ressource die RolleCognitive Services OpenAI Userzugewiesen ist. - Vergewissern Sie sich bei einer Antwort vom Typ
404, dass der Endpunkt/openai/v1/enthält und dassmodeleinen gültigen Bereitstellungsnamen enthält. - Überprüfen Sie für eine
400Antwort den Anforderungstext, die Tokenanzahl der einzelnen Eingaben, die Anzahl der Eingaben und die Aggregattokenanzahl.
Einschränkungen und Risiken
Einbettungsmodelle können in bestimmten Fällen unzuverlässig sein oder soziale Risiken darstellen. Sie können Schaden verursachen, wenn sie ohne Entschärfungen verwendet werden. Weitere Informationen zum verantwortungsvollen Umgang mit ihrer Nutzung finden Sie in den Inhalten "Verantwortungsvolle KI ".
Nächste Schritte
- Erkunden Sie Einbettungen und Dokumentsuche.
- Überprüfen Sie die verfügbaren Azure OpenAI-Modelle.
- Wählen Sie einen Dienst zum Speichern und Suchen von Vektoren aus: