Ekleme, makine öğrenmesi modelleri ve algoritmaları tarafından kolayca kullanılabilen özel bir veri gösterimi biçimidir. Ekleme, bir metin parçasının anlamsal anlamının yoğun bilgi gösterimidir. Her ekleme, kayan nokta sayılarından oluşan bir vektördür, böylece vektör uzayında iki ekleme arasındaki uzaklık, özgün biçimdeki iki giriş arasındaki anlamsal benzerlikle ilişkilendirilir. Örneğin, iki metin benzerse, vektör gösterimleri de benzer olmalıdır. MongoDB için Azure Cosmos DB sanal çekirdeği, Azure SQL Veritabanı veya PostgreSQL için Azure Veritabanı - Esnek Sunucu gibi Azure Veritabanlarında güç vektör benzerlik araması ekler.
Eklemeleri alma
Bir metin parçası için ekleme vektöru elde etmek için, aşağıdaki kod parçacıklarında gösterildiği gibi ekleme uç noktasına bir istekte bulunuruz:
OpenAI Python kitaplığı sürümü 0.28.1 kullanım dışıdır. 1.x kullanmanızı öneririz. uygulamasından adresine 0.28.1 geçiş hakkında bilgi için geçiş kılavuzumuza 1.x bakın.
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
En iyi yöntemler
Girişlerin uzunluk üst sınırını aşmadığını doğrulayın
En son ekleme modellerimiz için maksimum giriş metni uzunluğu 8192 belirteçtir. İstekte bulunmadan önce girişlerinizin bu sınırı aşmadığını doğrulamanız gerekir.
Tek bir ekleme isteğinde bir giriş dizisi gönderiliyorsa en büyük dizi boyutu 2048'dir.
Sınırlamalar ve riskler
Ekleme modellerimiz güvenilir olmayabilir veya bazı durumlarda sosyal riskler oluşturabilir ve risk azaltmaların olmamasında zarara neden olabilir. Onların kullanımına sorumlu bir şekilde yaklaşma hakkında daha fazla bilgi için Sorumlu yapay zeka içeriğimizi gözden geçirin.
Sonraki adımlar
Eklemeler öğreticimizle belge araması yapmak için Azure OpenAI ve eklemeleri kullanma hakkında daha fazla bilgi edinin.
Azure OpenAI'yi destekleyen temel modeller hakkında daha fazla bilgi edinin.
Seçtiğiniz Azure hizmetini kullanarak eklemelerinizi depolayın ve vektör (benzerlik) araması yapın:
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz. https://aka.ms/ContentUserFeedback.