Как интегрировать модель GPT-4, размещенную в Azure, с пакетом gptstudio?

Я хочу интегрировать модель OpenAI GPT-4 в свое приложение. Вот подробности, которые у меня есть:

  • Конечная точка: https://xxxxxxxxxxxxxxx.openai.azure.com/
  • Местоположение/регион: yyyyyyyyyyyyyyyyyyyyyyyy
  • Ключ: *******************
  • Имя развертывания: gpt-4o
  • Название модели: gpt-4o
  • Версия модели: 2024-02-01

Я отредактировал файл .Renviron соответствующим образом:

AZURE_OPENAI_TASK = "completions"
AZURE_OPENAI_ENDPOINT = "https://xxxxxxxxxxxxxxx.openai.azure.com/"
AZURE_OPENAI_DEPLOYMENT_NAME = "gpt-4o"
AZURE_OPENAI_KEY = "*******************"
AZURE_OPENAI_API_VERSION = "2024-02-01"
AZURE_OPENAI_USE_TOKEN=FALSE

Я хочу интегрировать его с gptstudio. Может ли кто-нибудь помочь мне в аутентификации и отправке запросов API к этой конечной точке?

Я пытался:

library(gptstudio)
chat(service = "azure_openai", prompt = "hello", model = "gpt-4)
#> $messages
#> $messages[[1]]
#> $messages[[1]]$role
#> [1] "system"
#> 
#> $messages[[1]]$content
#> As a chat bot assisting an R programmer working in the RStudio IDE it is important to tailor responses to their skill level and preferred coding style. They consider themselves to be a beginner R programmer. Provide answers with their skill level in mind.  
#> 
#> 
#> $messages[[2]]
#> $messages[[2]]$role
#> [1] "user"
#> 
#> $messages[[2]]$content
#> [1] "hello"
#> Error in `query_api_azure_openai()`:
#> ✖ Azure OpenAI API request failed. Error 400 - Bad Request
#> ℹ Visit the Azure OpenAi Error code guidance
#>   (<https://help.openai.com/en/articles/6891839-api-error-code-guidance>) for
#>   more details
#> ℹ You can also visit the API documentation
#>   (<https://platform.openai.com/docs/guides/error-codes/api-errors>)

Можете ли вы поделиться своим кодом в вопросе?

Dasari Kamali 04.07.2024 07:01

Я отредактировал сообщение, добавив код, иллюстрирующий мою попытку.

Sinval 04.07.2024 07:32

Можете ли вы поделиться своим полным кодом в вопросе?

Dasari Kamali 12.07.2024 04:56

Я добавил больше кода.

Sinval 12.07.2024 06:00

Пробовали ли вы использовать в коде пакеты httr и jsonlite для аутентификации Azure Openai и запуска простого кода?

Dasari Kamali 12.07.2024 07:47

Нет, я не делал. Можете ли вы привести мне пример? Мне удалось подключиться к Curl в Python.

Sinval 12.07.2024 08:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
137
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ниже приведен пример кода для аутентификации модели Azure Openai GPT-4o с ключом в R с использованием пакетов httr и jsonlite.

Код:

library(httr)
library(jsonlite)

azure_endpoint <- Sys.getenv("AZURE_OPENAI_ENDPOINT")
api_key <- Sys.getenv("AZURE_OPENAI_KEY")
api_version <- Sys.getenv("AZURE_OPENAI_API_VERSION")

api_url <- paste0(azure_endpoint, paste0("openai/deployments/",Sys.getenv("AZURE_OPENAI_DEPLOYMENT_NAME"),"/chat/completions?api-version = "), api_version)

messages <- list(
  list(role = "system", content = "You are a helpful assistant."),
  list(role = "user", content = "Does Azure Open AI supports gpt-4 model?")
)

request_body <- list(messages = messages)
request_body_json <- toJSON(request_body, auto_unbox = TRUE)

response <- httr::POST(api_url,
                       httr::add_headers(`Content-Type` = "application/json",
                                         `api-key` = api_key),
                       body = request_body_json)

if (http_error(response)) {
  cat("HTTP error:", response$status_code, "\n")
  print(content(response))
} else {
  response_content <- jsonlite::fromJSON(rawToChar(response$content))
  print(response_content)
  
  if (length(response_content$choices) > 0) {
    cat("Response:", response_content$choices[[1]]$message$content, "\n")
  }
}

Выход :

Следующий код успешно выполнился в RStudio, как показано ниже:

Хороший! Это работает, я только что отредактировал ваш код, чтобы использовать переменные системной среды. Спасибо.

Sinval 12.07.2024 18:23

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