惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
MyScale Blog
MyScale Blog
量子位
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
U
Unit 42
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
G
Google Developers Blog
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
IT之家
IT之家
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
B
Blog
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
B
Blog RSS Feed

博客园 - AlfredZhao

Docker 删除 none 镜像:一次真实的清理记录 Oracle Property Graph 结合 In-Memory 的性能验证 sed 一条命令批量替换 SQL 文件路径 执行新项目 python 脚本前,先用 conda 建一个独立环境 Git 提交代码:从报错到 SSH 免密推送 GitHub 克隆他人私有仓库:从授权到下载 理解Oracle Property Graph:以账户转账示例完成图特性最小测试 APEX 无法分配 SH 用户?一个存储过程轻松解决 SH 中文化样例数据使用手册 Oracle 排除非业务表:一份能直接抄的“全量过滤”SQL 进程都杀了,为什么 `netstat` 还能看到端口? MAC 空间告急?Codex 的 156GB 缓存垃圾,这样清! 人工清理问题数据:先查准,再删除 TK(Trusted Knowledge)为何而生? 使用快捷键快速切换 Mac 外接显示器模式 客户环境 Nginx 配置:流式报表与超时排查要点 Security Central:数据库安全的统一控制与运营平台 Palantir 眼中的一次“订单可能延期”,如何成为实时决策的起点? 从一条订单消息到 Bronze、Silver、Gold:我的第一次 Kafka + Lakehouse 实验 UUID v4 与 v7:同样是唯一 ID,为什么数据库表现可能完全不同? 用 crontab 给 LLM 使用量装上“监控眼” DeepSeek 与 GPT API 价格调整:该关注什么? 查看 Oracle 数据库中的定时任务执行情况 Codex 专用用户登录后自动进入默认项目目录 Mac 小技巧:用方向键优雅处理超长网址 Oracle GDD 与 Raft:别把共识机制和数据主权混为一谈 在 Oracle APEX 中用 BGE_BASE 生成向量:从模型导入到历史数据更新 行业人+AI:真正有价值的四个关键要素 知识库文件解析失败:一次由 Domain Index 引发的定位记录 Unicode 码位数、UTF-8 字节数、中英文差异和 Oracle 长度别再混淆了
kbot 适配 GPT-5.6:一次参数兼容性排查
AlfredZhao · 2026-08-18 · via 博客园 - AlfredZhao

2026-08-18 00:04  AlfredZhao  阅读(0)  评论()    收藏  举报

为客户编写文档时,笔者需要在测试环境截图,却发现 kbot 无法使用 GPT-5.6。Embedding 模型正常,但 LLM 调用返回 500,于是围绕模型参数兼容性进行了排查。

01 | 问题不在模型配置,而在请求参数

image.png

前端APEX的这个500错误之前也遇到过,但实际这是个通用的错误,跟上次原因并不一样,要查具体问题,详细信息还是需要到程序对应的后端日志进行查看,这次发现是因为 GPT-5.6 调用报错指出:top_p 不受该模型支持。

Unsupported parameter: 'top_p' is not supported with this model.

笔者尝试更换为 grok-4.3 后同样失败,原因变成不支持 presencePenalty。这说明问题并非某个模型不可用,而是服务向不同模型发送了不兼容的采样或惩罚参数。

02 | 注释配置项为什么没有解决

笔者曾在 base.toml 中注释相关配置:

# top_p = 1.0
# top_k = 0
# frequency_penalty = 0.0
# presence_penalty = 0.0

重启后依然报错。原因是即使配置文件未设置,代码里仍可能为这些参数提供默认值,因此仅修改配置不足以阻止请求携带它们。

03 | 用最小改动实现模型适配

最终在 /app/microservices/llm/model/openai_client.py 中,针对 GPT-5 和 Grok 4.3 模型,在发送请求前移除旧的采样与惩罚参数:

        # Alfred add 173-178, Do not send legacy sampling / penalty parameters to reasoning models.
        model_id = self.config.model_name.lower()
        
        if model_id.startswith(("gpt-5", "grok-4.3")):
            for param_name in ("temperature", "top_p", "frequency_penalty", "presence_penalty"):
                base_params.pop(param_name, None)

重启后再次测试,模型即可正常调用。

image.png

这次排查的关键在于:看到参数报错时,不只检查配置文件,还要确认最终请求参数是否由代码默认值补齐。

关注我,和AI一起成长~