V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
niz
V2EX  ›  程序员

OpenAI API 兼容 or 不兼容

  •  
  •   niz · 16 小时 29 分钟前 · 1098 次点击

    五月份使用 Spring AI 集成了 DeepSeek 和智谱 GLM-4 ,当时功能都是正常的。

    上周又重新跑了一下程序,发现 DeepSeek 只能回答 MCP 工具之内的问题。然后我又换成了智谱 GLM-4.5 ,当时正值阅兵,我随意输入了一个关于阅兵的问题,智谱 GLM-4.5 回答一半停住了。看日志说是返回值 FinishReason 是 sensitive,而 Spring AI 中的代码中没有添加这个属性,导致反序列化失败。看到这里自然就明白了,sensitive 表示因为某些敏感词触发机制,智谱把当前的流式响应切断了!这是一个新加的属性,想必 Open AI API 中不会有这个属性。(当然我没仔细比对)

    到这里情况就清楚了:

    • DeepSeek 的现状是每次升级都没有冻结版本,也就说 DeepSeek 并没有维护多个版本的基础设施。每次都在原基础设施上升级,对于用户则一直使用 deepseek-chat 和 deepseek-reasoner 的模型名称。但是不同版本的 deepseek-chat 和 deepseek-reasoner 能力不一样,可能会引入 bug 。
    • 智谱的现状是并未完全兼容 OpenAI API ,某些自定义返回值属性可能会导致程序 Bug 。

    然后我又浏览国内各大模型的 API 文档,也看了一些国外 AI Agent 框架文档。

    我发现各个厂商都在维持所谓的 OpenAI API 兼容性这个“最大公约数”,但是一旦你深入浏览各模型厂商的文档就会发现,同一个兼容接口的返回值可能是不一样的,甚至有些模型厂商会提供额外的模型能力 API 。

    那么在这样的情况下,基于所谓兼容的 OpenAI API 构建的 AI Agent 未必会充分利用各模型的能力,又因为各模型厂商返回值可能的不一致从而引入 bug 。

    另外,那些 AI Agent 框架默认你需要有一个 OPENAI_API_KEYANTHROPIC_API_KEY。如果你想用其他的模型,则需要自定义一些代码了...

    很矛盾!!要兼容吧,会有 bug 、会跳过某些特定能力 API ;不兼容吧,会被“供应商锁定”。在没有 OPENAI_API_KEYANTHROPIC_API_KEY 的情况下,AI Agent 框架貌似是不能直接使用的。

    挺纠结的。各位有何看法?

    7 条回复    2025-09-11 17:37:43 +08:00
    musi
        1
    musi  
       16 小时 14 分钟前 via iPhone   ❤️ 1
    不可能存在完全兼容的这个情况,模型能力都不一样你能咋兼容
    bigtear
        2
    bigtear  
       16 小时 13 分钟前
    Langchain 之类的框架就是解决这种问题的,一般是使用最大公约数的 OpenAI 兼容
    yulon
        3
    yulon  
       13 小时 51 分钟前
    FinishReason 本来就会 sensitive
    iugo
        4
    iugo  
       13 小时 6 分钟前
    针对这样的问题, 我们选择的是针对不同平台, 分别包裹一层后再用 OpenAI 的 SDK.

    写一个 SDK, 套壳 OpenAI SDK, 不过针对参数和返回值有套壳.
    ZSeptember
        5
    ZSeptember  
       10 小时 21 分钟前
    首先,OpenAI 有 finish reason 是 content_filter
    serverKnignt
        6
    serverKnignt  
       9 小时 51 分钟前
    可以看下我的开源项目,有解决提到的兼容问题。https://v2ex.com/t/1151396
    viking602
        7
    viking602  
       9 小时 43 分钟前
    不完全兼容吧 厂商有的会有自己的参数 所以就需要用到一些框架额外转换一次
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.