You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI Chat Completions API请求报错400:R代码类型不符问题

解决R语言调用OpenAI Chat Completions API的400错误

问题出在messages参数的构造方式上。你当前用c("role" = "user", "content" = "Hello")创建的是一个命名向量,但OpenAI API要求messages是包含对象的数组,对应R里的嵌套列表结构。

修正后的代码:

# 构造正确的messages结构:列表中嵌套一个包含role和content的子列表
param <- list(
  model = "gpt-3.5-turbo",
  messages = list(
    list(role = "user", content = "Hello")
  )
)

result <- POST(
  "https://api.openai.com/v1/chat/completions",
  body = param,
  add_headers(Authorization = openai_secret_key),
  encode = "json"
)

关键说明:

  • 用list()代替c()来创建消息对象,确保每个消息是一个独立的R列表(对应JSON中的object)
  • 外层再套一个list(),让messages成为包含单个对象的数组(对应JSON中的array)

这样构造的参数会被正确序列化为你在Postman中使用的有效JSON格式:

{
  "model":"gpt-3.5-turbo",
  "messages":[{
    "role":"user",
    "content":"Hello"
  }]
}

内容的提问来源于stack exchange,提问作者raph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 21:43:25