How to integrate GPT-4 model hosted on Azure with the gptstudio package

avatar
作者
猴君
阅读量:1

题意:怎样将托管在Azure上的GPT-4模型与gptstudio包集成?

问题背景:

I am looking to integrate the OpenAI GPT-4 model into my application. Here are the details I have:

  • Endpoint: https://xxxxxxxxxxxxxxx.openai.azure.com/
  • Location/Region: yyyyyyyyyyyyyyyyyyyyyyyy
  • Key: *******************
  • Deployment Name: gpt-4o
  • Model Name: gpt-4o
  • Model Version: 2024-02-01

I edited the .Renviron file accordingly:

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

I want to integrate it with gptstudio. Could someone guide me on authenticating and making API requests to this endpoint?

I tried:

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>)

问题解决:

Below is the sample code to authenticate an Azure Openai GPT-4o model with a key in R using httr and jsonlite packages.

Code :

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")   } }

Output :

The following code ran successfully in RStudio as below,

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!