Получение «несанкционированного» результата из API Azure OpenAI Embeddings

У меня есть следующий код, который возвращает «Неавторизованный». Я озадачен. Идентичный код с ключом OpenAI (не Azure) и URL-адресом OpenAI дает 200 результатов. Что я делаю не так? Единственное: имею ли я право звонить из запада США (Калифорния) в место, обозначенное как Местоположение: восток США...

Я проверил, что ключ API верен и что модель «ada2» развернута:

Я убедился, что объект запроса выглядит хорошо и состоит из «модели» — text-embedding-ada-002 и «input» = «Я так рад провести небольшое исследование…»

Я также проверил правильность URL-адреса:

https://AzureOpenAIExperiment.openai.azure.com/openai/deployments/ada2/embeddings?api-version=2023-05-15

где 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);
                }

0 ответов

Другие вопросы по тегам