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

题意 :怎样将托管在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:

cs 复制代码
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 :

cs 复制代码
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,

相关推荐
knqiufan13 小时前
MiniMax Code 接入 PowerContext:构建跨会话与跨 Agent 的项目上下文底座
ai·oceanbase·minimax·powercontext
还卿一钵无情泪19 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
码士集团小青19 小时前
同样的RAG系统,分块策略不同,命中率能差20%
ai
Hello_Pyhx21 小时前
VoiceStudio v0.5.6:从桌面生成到本地语音 API
ai·语音识别·克隆·声音
最强小杰1 天前
Claude Opus 4.8 调用一直报 529 怎么办?同样请求换旧模型却正常——附 429/529 双桶退避代码
ai·github
goehou1 天前
LLM 结构化输出全解:从 Prompt 约束到 Schema 硬保证,三层实现怎么选
ai·llm·json·agent·教程·结构化输出
?? Daisy1 天前
ZCode 添加自定义模型:自定义供应商的字段与易错点(2026-09)
人工智能·ai·ai编程
奇牙coding1 天前
GPT-5.5 API 报 401 但 GPT-5.4 正常怎么办?不是 Key 失效,是 Organization 头的强制校验变了
java·网络·gpt·ai
sbjdhjd1 天前
智能体开始“动手”之后:OpenAI越权事件、Anthropic算力资本化与开放权重模型竞逐 | AI与SI行业日报整理(9月29日—10月6日)
大数据·人工智能·经验分享·笔记·ai·chatgpt·开源
belldeep1 天前
AI-3D 真人剧如何制作
人工智能·3d·ai