Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un incorporamento è un formato speciale di rappresentazione dei dati che può essere facilmente utilizzato da modelli e algoritmi di Machine Learning. L'incorporamento è una rappresentazione densa di informazioni del significato semantico di una parte di testo. Ogni incorporamento è un vettore di numeri a virgola mobile, in modo che la distanza tra due incorporamenti nello spazio vettoriale sia correlata alla somiglianza semantica tra due input nel formato originale. Ad esempio, se due testi sono simili, anche le rappresentazioni vettoriali dovrebbero essere simili. Gli embedding alimentano la ricerca della somiglianza dei vettori nei database Azure come Azure Cosmos DB per NoSQL, Azure Cosmos DB per MongoDB vCore, database SQL di Azure o Database di Azure per PostgreSQL - Server flessibile.
Prerequisiti
- Modello di incorporamento OpenAI Azure distribuito.
- I valori seguenti dalla tua risorsa:
- Punto finale, ad esempio
https://YOUR-RESOURCE-NAME.openai.azure.com/. - Chiave API.
- Nome della distribuzione del modello.
- Punto finale, ad esempio
Per altre indicazioni sulla configurazione specifiche del linguaggio, vedere Azure Linguaggi di programmazione supportati da OpenAI.
Come ottenere incorporamenti
Per ottenere un vettore di incorporamento per una parte di testo, effettuare una richiesta all'endpoint di incorporamento, come illustrato nei frammenti di codice seguenti:
Nota
L'API di incorporamento openAI Azure attualmente non supporta Microsoft Entra ID con l'API v1. Usare l'autenticazione con chiave API per gli esempi in questo articolo.
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())}]");
Procedure consigliate
Verificare che gli input non superino la lunghezza massima
- La lunghezza massima del testo di input per i modelli di incorporamento più recenti è di 8.192 token. È necessario verificare che gli input non superino questo limite prima di effettuare una richiesta.
- Se si invia una matrice di input in un'unica richiesta di incorporamento, la dimensione massima della matrice è 2048.
- Quando si invia una matrice di input in una singola richiesta, tenere presente che il numero di token al minuto nelle richieste deve rimanere al di sotto del limite di quota assegnato alla distribuzione del modello. Per impostazione predefinita, i modelli di incorporamento di ultima generazione 3 sono soggetti a un limite di TPM di 350 K per area.
Risoluzione dei problemi
- Se viene visualizzato un errore
401o403, verificare che la chiave API sia valida per la risorsa. - Se viene visualizzato un
404errore, verificare che l'endpoint includa il/openai/v1/percorso e che sia stato usato l'URL di base corretto. - Se viene visualizzato un
400errore, verificare chemodelsia impostato sul nome della distribuzione e che il corpo della richiesta sia JSON valido.
Limitazioni e rischi
I modelli di incorporamento possono essere inaffidabili o rappresentare rischi sociali in determinati casi e possono causare danni in assenza di mitigazioni. Per ulteriori informazioni su come utilizzare in modo responsabile l'intelligenza artificiale, consulta i nostri contenuti sull'AI responsabile.
Passaggi successivi
- Per ulteriori informazioni sull'uso di Azure OpenAI e degli embeddings per eseguire la ricerca di documenti, consulta la nostra guida sugli embeddings.
- Scopri di più sui modelli sottostante che alimentano Azure OpenAI.
- Archiviare gli incorporamenti ed eseguire ricerche vettoriali (somiglianza) usando la scelta del servizio: