포함은 기계 학습 모델 및 알고리즘에서 쉽게 활용할 수 있는 특수한 형식의 데이터 표현입니다. 임베딩은 텍스트의 의미론적 의미를 정보가 밀집된 방식으로 표현한 것입니다. 각 포함은 부동 소수점 숫자의 벡터입니다. 따라서 벡터 공간의 두 포함 사이의 거리는 원래 형식의 두 입력 간의 의미 체계 유사성과 상관 관계가 있습니다. 예를 들어 두 텍스트가 비슷한 경우 벡터 표현도 유사해야 합니다.
Azure Cosmos DB for NoSQL, Azure Cosmos DB for MongoDB vCore, Azure SQL Database 또는 Azure Database for PostgreSQL - 유연한 서버와 같은 Azure Database에서 임베딩이 벡터 유사성 검색을 가능하게 합니다.
포함을 가져오는 방법
텍스트 조각에 대한 포함 벡터를 가져오려면 다음 코드 조각과 같이 포함 엔드포인트에 요청합니다.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2024-10-21\
-H 'Content-Type: application/json' \
-H 'api-key: YOUR_API_KEY' \
-d '{"input": "Sample Document goes here"}'
import os
from openai import AzureOpenAI
client = AzureOpenAI(
api_key = os.getenv("AZURE_OPENAI_API_KEY"),
api_version = "2024-10-21",
azure_endpoint =os.getenv("AZURE_OPENAI_ENDPOINT")
)
response = client.embeddings.create(
input = "Your text string goes here",
model= "text-embedding-3-large"
)
print(response.model_dump_json(indent=2))
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);
AzureOpenAIClient 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
모범 사례
- 최신 포함 모델에 대한 입력 텍스트의 최대 길이는 8,192개의 토큰입니다. 요청하기 전에 입력이 이 제한을 초과하지 않는지 확인해야 합니다.
- 단일 포함 요청으로 입력 배열을 보내는 경우 최대 배열 크기는 2048입니다.
- 단일 요청에서 입력 배열을 보낼 때는 요청의 분당 토큰 수가 모델 배포 시 할당된 할당량 한도 미만으로 유지되어야 합니다. 기본적으로 최신 3세대 포함 모델에는 지역당 350K TPM 제한이 적용됩니다.
제한 사항 및 위험
포함 모델은 신뢰할 수 없거나 특정 경우에 사회적 위험을 초래할 수 있으며 완화 조치가 없을 때 피해를 줄 수 있습니다. 책임감 있게 사용하는 방법에 대한 자세한 내용은 책임 있는 AI 콘텐츠를 검토하세요.
다음 단계