Azure托管GPT-4o与gptstudio集成及API请求400错误排查
Azure OpenAI GPT-4o 与 gptstudio 集成报错解决指导
用户场景与问题
用户已将Azure OpenAI GPT-4o的配置信息写入.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的聊天接口时执行以下代码:
library(gptstudio) chat(service = "azure_openai", prompt = "hello", model = "gpt-4")
触发400错误:
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>)
错误原因分析
- 模型参数不匹配:Azure OpenAI接口要求
model参数必须填写部署名称,用户代码中使用gpt-4与实际部署的gpt-4o不符。 - 任务类型配置错误:
AZURE_OPENAI_TASK设为completions(对应文本补全接口),但chat()函数调用的是聊天补全接口,需对应chat_completions类型。
解决步骤
1. 修正环境变量配置
修改.Renviron中的任务类型参数:
AZURE_OPENAI_TASK="chat_completions"
保存文件后重启R会话,确保环境变量生效(可通过Sys.getenv("AZURE_OPENAI_TASK")验证配置是否加载)。
2. 修正R代码中的模型参数
将model参数替换为实际部署名称gpt-4o:
library(gptstudio) chat(service = "azure_openai", prompt = "hello", model = "gpt-4o")
额外验证要点
- 确认
AZURE_OPENAI_ENDPOINT末尾无多余斜杠(可改为https://xxxxxxxxxxxxxxx.openai.azure.com避免路径解析错误) - 检查Azure密钥的有效性,确保该密钥拥有目标部署的调用权限
- 确认API版本
2024-02-01与GPT-4o部署的版本兼容
内容的提问来源于stack exchange,提问作者Sinval
相关产品推荐
相关产品推荐

