Skip to content

new-api 强行把我的gpt-5.2的请求,里面的role:system 转换成了 role:developer,导致报错. #2542

@JsonSong89

Description

@JsonSong89

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述
请求某中转渠道,模型是 openai/gpt-5.2
我传递给new-api的请求体是:

{
    "model": "openai/gpt-5.2",
    "messages": [
        {
            "role": "system",
            "content": "你现在是一名资深的软件工程师,在这个角色下,使用中文为我解答以下问题。"
        },
        {
            "role": "user",
            "content": "直接查询知识库,当前最新vue的版本是多少?只需要输出版本号即可."
        }
    ],
    "stream": true,
    "stream_options": {
        "include_usage": true
    }
}

我劫持响应之后,发现new-api发给llm上游的请求变成了:

{
    "messages": [
      {
        "content": "你现在是一名资深的软件工程师,在这个角色下,使用中文为我解答以下问题。",
        "role": "developer"
      },
      {
        "content": "直接查询知识库,当前最新vue的版本是多少?只需要输出版本号即可.",
        "role": "user"
      }
    ],
    "model": "openai/gpt-5.2",
    "stream": true,
    "stream_options": {
      "include_usage": true
    }
  }

复现步骤
v0.10.4
配置一个openai渠道,没有任何其他覆写配置.

开启透传模式,即可恢复正常,不过我还是需要模型重定向功能的.

预期结果
不要修改我的请求体,或者提供开关,关闭请求体修改功能.

我知道openai官方,gpt5系列都换成了 developer,但是还是有很多服务商,是使用的老v1/chat/completions规范
所以希望能提供开关,控制这种请求体修改

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions