Получение «несанкционированного» результата из API Azure OpenAI Embeddings
У меня есть следующий код, который возвращает «Неавторизованный». Я озадачен. Идентичный код с ключом OpenAI (не Azure) и URL-адресом OpenAI дает 200 результатов. Что я делаю не так? Единственное: имею ли я право звонить из запада США (Калифорния) в место, обозначенное как Местоположение: восток США...
Я проверил, что ключ API верен и что модель «ada2» развернута:
Я убедился, что объект запроса выглядит хорошо и состоит из «модели» — text-embedding-ada-002 и «input» = «Я так рад провести небольшое исследование…»
Я также проверил правильность URL-адреса:
где AzureOpenAIExperiment — имя ресурса:
string apiKey = config.SafeStorage.DecryptString(webSvc.ApiKey);
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", apiKey);
client.DefaultRequestHeaders.Add("User-Agent", "GSSLLC");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
Log.VerboseFormat("Calling PostAsync with URL: {0}, and Engine: {1}", Url, request.model);
string jsonContent = JsonConvert.SerializeObject(request, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore });
var stringContent = new StringContent(jsonContent, UnicodeEncoding.UTF8, "application/json");
// This runs in a separate pool thread
Task<HttpResponseMessage> resp = Task.Run(() => client.PostAsync(Url, stringContent));
resp.Wait();
HttpResponseMessage response = resp.Result;
if (response.StatusCode == HttpStatusCode.OK)
{
Log.Verbose("OK");
}
else
{
Log.Verbose(response.StatusCode);
}