Использование API внедрения в Azure OpenAI
Когда я использую внедрения с Azure OpenAI, я получаю 404 (ресурс не найден):
EmbeddingsOptions embdOptions = new EmbeddingsOptions(text);
Azure.AI.OpenAI.Embeddings response = Task.Run(() => mOpenAiClient.GetEmbeddingsAsync(mWebSvc.AzureOpenAI.DeploymentID, embdOptions)).Result;
Текст — это входной текст, который будет использоваться для создания вектора. Кроме того, mWebSvc.AzureOpenAI.DeploymentID — это идентификатор или имя развертывания, то есть «ada2» — так я назвал модель text-embedding-ada-002. Кроме того, при создании mOpenAiClient я использовал URL-адрес:
"https://AzureOpenAIExperiment.openai.azure.com/openai/deployments/ada2/embeddings?api-version=2023-05-15"
Есть идеи? Microsoft хранит молчание по этому поводу, и в части Azure SDK Azure OpenAI не предоставляется никакая документация.
2 ответа
Судя по всему, URL-адрес, который я использовал ранее, хотя и корректен для обычных вызовов HttpClient, не соответствует ожиданиям Azure Open AI API. Он ожидает этого:
https://{resourceName}.openai.azure.com
Где {resourceName} — это заполнитель, это имя ресурса, созданного вами в Azure. Тип ресурса: «Azure OpenAI». Это ресурс, на котором вы развернули модель (в моем случае text-embedding-ada-002, который я назвал «ada2». Этот «ada2» идет в качестве параметра в функцию GetEmbeddingsAsync.
Проверьте свой идентификатор развертывания, если «ada2» указан правильно. Вы можете убедиться, отправив GET-запрос на URL-адрес:
https://AzureOpenAIExperiment.openai.azure.com/openai/deployments?api-version=2023-05-15
После этого включите идентификатор в свой URL-адрес.
Мой тест
Мой идентификатор = text-embedding-ada-002
{
"input":"test"
}