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.
Bei einer Einbettung handelt es sich um ein spezielles Format der Datendarstellung, das maschinelle Lernmodelle und Algorithmen problemlos verwenden können. Eine Einbettung ist eine informationsdichte Darstellung der semantischen Bedeutung eines Textteils. Jede Einbettung ist ein Vektor von Gleitkommazahlen, sodass der Abstand zwischen zwei Einbettungen im Vektorraum mit der semantischen Ähnlichkeit zwischen zwei Eingaben im ursprünglichen Format korreliert. Wenn beispielsweise zwei Texte ähnlich sind, sind ihre Vektordarstellungen ebenfalls ähnlich. Einbettungen ermöglichen die Vektorsimilaritätssuche in Azure-Datenbanken wie Azure Cosmos DB for NoSQL, Azure SQL-Datenbank und Azure Database for PostgreSQL - Flexible Server.
Voraussetzungen
- Ein Azure OpenAI-Einbettungsmodell bereitgestellt.
- Die folgenden Werte aus Ihrer Ressource:
- Endpunkt, z. B.
https://YOUR-RESOURCE-NAME.openai.azure.com/. - API-Schlüssel.
- Modell Bereitstellungsname
- Endpunkt, z. B.
Weitere sprachspezifische Einrichtungsanleitungen finden Sie unter Azure OpenAI unterstützte Programmiersprachen.
Wie man Einbettungen erhält
Um einen Einbettungsvektor für einen Text zu erhalten, stellen Sie eine Anforderung an den Endpunkt für einbettende Elemente vor, wie in den folgenden Codeausschnitten gezeigt:
Hinweis
Die Azure OpenAI-Einbettungs-API unterstützt derzeit keine Microsoft Entra ID mit der v1-API. Verwenden Sie die API-Schlüsselauthentifizierung für die Beispiele in diesem Artikel.
using OpenAI;
using OpenAI.Embeddings;
using System.ClientModel;
EmbeddingClient client = new(
"text-embedding-3-small",
credential: new ApiKeyCredential("API-KEY"),
options: new OpenAIClientOptions()
{
Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
}
);
string input = "This is a test";
OpenAIEmbedding embedding = client.GenerateEmbedding(input);
ReadOnlyMemory<float> vector = embedding.ToFloats();
Console.WriteLine($"Embeddings: [{string.Join(", ", vector.ToArray())}]");
Bewährte Methoden
Tip
Einbettungsanforderungen geben HTTP 400 zurück, wenn die Summe der Eingabetoken 300.000 überschreitet, auch wenn jede einzelne Eingabe gut unter dem Grenzwert pro Eingabe liegt. Wenn Sie zuvor große Arrays mit langen Eingaben erfolgreich in Stapeln verarbeitet haben, teilen Sie sie in kleinere Anfragen auf.
Überprüfen, ob Eingaben die maximale Länge nicht überschreiten
- Die maximale Länge des Eingabetexts für die neuesten Einbettungsmodelle beträgt 8.192 Token. Stellen Sie sicher, dass Ihre Eingaben diesen Grenzwert nicht überschreiten, bevor Sie eine Anforderung stellen.
- Wenn Sie ein Array von Eingaben in einer einzigen Einbettungsanforderung senden, beträgt die maximale Arraygröße 2.048.
- Jede
/embeddingsAnforderung hat auch eine harte Obergrenze von 300.000 Token, die über alle Eingaben summiert werden. Anforderungen, die diesen Aggregatgrenzwert überschreiten, schlagen mit HTTP 400 fehl, auch wenn jede einzelne Eingabe unter 8.192 Token liegt und die Arraylänge unter 2.048 liegt. Teilen Sie große Workloads in mehrere kleinere Anfragen auf, um das Limit nicht zu überschreiten. - Wenn Sie ein Array von Eingaben in einer einzigen Anforderung senden, denken Sie daran, dass die Anzahl der Token pro Minute in Ihren Anforderungen unter dem Kontingentlimit bleiben muss, das der Modellbereitstellung zugewiesen ist. Standardmäßig unterliegen Einbettungsmodelle der neuesten Generation 3 einem Grenzwert von 350 K TPM pro Region.
Problembehandlung
- Wenn Sie einen
401-Fehler oder403-Fehler erhalten, bestätigen Sie, dass der API-Schlüssel für die Ressource gültig ist. - Wenn sie einen
404Fehler erhalten, bestätigen Sie, dass der Endpunkt den/openai/v1/Pfad enthält und Sie die richtige Basis-URL verwendet haben. - Wenn ein
400Fehler angezeigt wird, stellen Sie sicher, dassmodelauf Ihren Bereitstellungsnamen festgelegt ist und der Anforderungstext gültiges JSON ist.
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
- Weitere Informationen zur Verwendung von Azure OpenAI und Einbettungen zur Dokumentsuche finden Sie im Lernprogramm embeddings.
- Weitere Informationen zu den zugrunde liegenden Modellen, die Azure OpenAI zugrunde liegen.
- Um Ihre Einbettungen zu speichern und eine Vektorsuche (Ähnlichkeit) durchzuführen, wählen Sie aus den folgenden Diensten aus: