Vkládání je speciální formát reprezentace dat, který lze snadno využít modely a algoritmy strojového učení. Vkládání je informace hustá reprezentace sémantického významu části textu. Každé vložení je vektor čísel s plovoucí desetinou čárkou, aby vzdálenost mezi dvěma vkládáními ve vektorovém prostoru odpovídala sémantické podobnosti mezi dvěma vstupy v původním formátu. Pokud jsou například dva texty podobné, měly by být jejich vektorové reprezentace také podobné. Vkládání hledání vektorů výkonu ve službě Azure Database, jako je Azure Cosmos DB pro virtuální jádro MongoDB nebo Flexibilní server Azure Database for PostgreSQL
Jak získat vkládání
Abychom získali vektor vložení pro část textu, vytvoříme požadavek na koncový bod embeddings, jak je znázorněno v následujících fragmentech kódu:
Verze 0.28.1 knihovny Python OpenAI je zastaralá. Doporučujeme používat 1.x. Informace o přechodu z 0.28.1 této 1.xmigrace najdete v našem průvodci migrací.
using Azure;
using Azure.AI.OpenAI;
Uri oaiEndpoint = new ("https://YOUR_RESOURCE_NAME.openai.azure.com");
string oaiKey = "YOUR_API_KEY";
AzureKeyCredential credentials = new (oaiKey);
OpenAIClient openAIClient = new (oaiEndpoint, credentials);
EmbeddingsOptions embeddingOptions = new()
{
DeploymentName = "text-embedding-ada-002",
Input = { "Your text string goes here" },
};
var returnValue = openAIClient.GetEmbeddings(embeddingOptions);
foreach (float item in returnValue.Value.Data[0].Embedding.ToArray())
{
Console.WriteLine(item);
}
# Azure OpenAI metadata variables
$openai = @{
api_key = $Env:AZURE_OPENAI_API_KEY
api_base = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
api_version = '2024-02-01' # this may change in the future
name = 'YOUR-DEPLOYMENT-NAME-HERE' #This will correspond to the custom name you chose for your deployment when you deployed a model.
}
$headers = [ordered]@{
'api-key' = $openai.api_key
}
$text = 'Your text string goes here'
$body = [ordered]@{
input = $text
} | ConvertTo-Json
$url = "$($openai.api_base)/openai/deployments/$($openai.name)/embeddings?api-version=$($openai.api_version)"
$response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
return $response.data.embedding
Osvědčené postupy
Ověření, že vstupy nepřekračují maximální délku
Maximální délka vstupního textu pro naše nejnovější modely vkládání je 8192 tokenů. Před vytvořením požadavku byste měli ověřit, že vaše vstupy tento limit nepřekračují.
Pokud odesíláte pole vstupů v jednom požadavku na vložení, maximální velikost pole je 2048.
Omezení a rizika
Naše modely vkládání můžou být v určitých případech nespolehlivé nebo představují sociální rizika a mohou způsobit škodu při absenci zmírnění rizik. Další informace o tom, jak přistoupit k zodpovědnému používání, najdete v našem obsahu zodpovědné umělé inteligence.
Další kroky
Přečtěte si další informace o používání Azure OpenAI a vkládání k provádění hledání dokumentů pomocí našeho kurzu vkládání.