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

Android应用迁移OpenAI Chat Completions API遇400错误求助

Android应用迁移OpenAI Chat Completions API后返回400错误排查与修复

核心差异导致的常见400错误原因

  • 请求格式不匹配:Chat Completions API的请求体结构与Completions完全不同,需使用messages数组而非prompt字段,每个消息必须包含role(可选值:system/user/assistant)和content字段。
  • 模型参数冲突:gpt-3.5-turbo不支持Completions API中的echo、best_of、suffix等参数,保留此类参数会触发参数校验错误。
  • API端点错误:Chat Completions的正确端点是https://api.openai.com/v1/chat/completions,若仍使用旧端点/v1/completions会直接返回400。
  • 消息格式不合法:比如role取值错误、content为空字符串、JSON数组结构语法错误(如遗漏逗号、引号不匹配)。

修复步骤

  1. 确认API端点正确性
    替换请求URL为Chat Completions专属端点:https://api.openai.com/v1/chat/completions。

  2. 重构请求体结构
    旧Completions API请求体示例:

    {
      "model": "text-davinci-003",
      "prompt": "请解释Android的生命周期",
      "max_tokens": 200
    }
    

    新Chat Completions API标准请求体:

    {
      "model": "gpt-3.5-turbo",
      "messages": [
        {"role": "user", "content": "请解释Android的生命周期"}
      ],
      "max_tokens": 200
    }
    

    如需上下文对话,可追加历史消息:

    {
      "model": "gpt-3.5-turbo",
      "messages": [
        {"role": "user", "content": "请解释Android的生命周期"},
        {"role": "assistant", "content": "Android生命周期分为 onCreate、onStart、onResume等阶段..."},
        {"role": "user", "content": "那onPause和onStop的区别是什么?"}
      ]
    }
    
  3. 清理不兼容参数
    移除所有gpt-3.5-turbo不支持的参数,比如echo、best_of、suffix等,仅保留Chat API文档中列出的可用参数(如max_tokens、temperature、top_p等)。

  4. 校验请求头与权限
    确保Authorization请求头格式正确:Bearer YOUR_API_KEY,同时确认API Key拥有访问gpt-3.5-turbo模型的权限(部分早期Key需升级权限)。

  5. 验证JSON序列化正确性
    Android中使用Gson/Jackson等工具序列化请求体时,需确保字段名符合OpenAI API的小写蛇形命名规则(如max_tokens而非maxTokens),避免因字段名不匹配触发400错误。

错误日志精准定位

若错误日志包含具体提示,可直接对应修复:

  • 提示invalid field 'prompt':说明仍在使用旧API的prompt字段,需替换为messages数组。
  • 提示invalid role:检查role取值是否为system、user或assistant三者之一。
  • 提示unexpected parameter:移除日志中指定的不兼容参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:02:18