Я хочу интегрировать модель 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>)
Я отредактировал сообщение, добавив код, иллюстрирующий мою попытку.
Можете ли вы поделиться своим полным кодом в вопросе?
Я добавил больше кода.
Пробовали ли вы использовать в коде пакеты httr и jsonlite для аутентификации Azure Openai и запуска простого кода?
Нет, я не делал. Можете ли вы привести мне пример? Мне удалось подключиться к Curl в Python.
Ниже приведен пример кода для аутентификации модели 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, как показано ниже:
Хороший! Это работает, я только что отредактировал ваш код, чтобы использовать переменные системной среды. Спасибо.
Можете ли вы поделиться своим кодом в вопросе?