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-3-large",
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
最佳做法
确认输入不超过最大长度
最新嵌入模型的输入文本的最大长度为 8192 个标记。 在发出请求之前,应确认输入未超过此限制。
如果在单个嵌入请求中发送输入数组,则最大数组大小为 2048。
在一个请求中发送一组输入时,请记得请求中的每分钟令牌数需要始终小于模型部署中分配的配额限值。 默认情况下,最新的第 3 代嵌入模型存在每个区域 350 K TPM 的限制。
限制和风险
在某些情况下,我们的嵌入模型可能不可靠或造成社会性风险,如果没有缓解措施,它们可能会造成损害。 请查看负责任的 AI 内容,获取有关如何以负责的形式使用这些模型的详细信息。