快速结论:该报错描述的是 Hugging Face Transformers 库中不同模型家族的 Chat Template 在处理工具调用(tool-calling)消息时行为不一致的问题,尤其是 `arguments` 参数格式(dict vs JSON 字符串)和 `content` 字段的可选性。优先排查你使用的模型模板是否接受 `dict` 格式的 `arguments`,并统一 `content` 字段的传参方式。
适用环境:Hugging Face Transformers 库(版本未在 Issue 中明确指定),涉及多个模型家族的 Chat Template,包括 DeepSeek、GLM、Qwen、Llama 等。Issue 未提及操作系统、Python、CUDA 或显卡等环境细节。
最快修复方案:暂无确认的一步修复方案。Issue 仍处于开放状态,核心问题尚未在 Transformers 主库中完全解决。
注意事项: Issue 中的解决方案多为建议和计划,部分已通过 PR #45422 部分解决。实际应用中,你可能需要针对特定模型模板单独处理,或等待官方统一修复。
问题场景
该问题由开发者在构建依赖于 Transformers 库的程序化工具调用对话时发现,尤其影响像 TRL 这样的下游库。开发者需要为不同的模型家族构造带 tool_calls 的 assistant 消息,但发现不同模型的 Chat Template 对 arguments 参数(要求 dict 还是 JSON 字符串)以及 content 字段(是否必须提供、允许为 None 或空字符串)的处理方式不一致,导致无法用统一的方式安全构造消息。
报错原文
Chat template inconsistencies in tool-calling support
原因分析
可能原因是各模型家族在定义其 Chat Template 时,对工具调用消息的格式规范(特别是 arguments 和 content 字段)采用了不同的约定,且 Transformers 库本身未对标准格式进行严格统一,导致下游用户必须针对每个模型单独适配。
环境排查
- 确认你使用的 Transformers 库版本,并查阅该版本是否已包含相关的模板修复。
- 核对目标模型的 Chat Template 定义(可通过
tokenizer.apply_chat_template或模型仓库的chat_template配置查看)。 - 明确你构造的
tool_calls消息中arguments是 dict 还是 JSON 字符串,以及content字段的赋值(None、空字符串或省略)。 - 确认你的模型是否在 Issue 的影响列表中(如 DeepSeek、GLM、Qwen、Llama 等)。
解决步骤
- 查看官方维护者建议:先检查你使用的模型模板是否接受
dict格式的arguments。如果不接受,可尝试将其转换为 JSON 字符串,但需注意部分模型(如 DeepSeekV3)只接受字符串,而另一些(如 GLM-5.1)只接受 dict。 - 关于
content字段:官方建议阅读文档,明确当存在 tool calls 时,content是可选字段,且content=None和省略content键被视为等价。但特定模型(如 DeepSeekV3-0528)可能对 None 处理有误,需使用空字符串或省略该键。 - 如果上述方法无效,可优先尝试在
apply_chat_template调用中显式规定arguments的格式(dict),并向模型模板传入空字符串而非 None 作为content值。 - 关注相关修复 PR:Issue 中提到的 PR #45422 已部分解决
content字段Optional性的问题。如果问题依旧,可尝试通过升级 Transformers 库或在模型仓库提交修复来期待后续版本更新。 - 作为临时方案,可以检查是否有该模型专门的 tokenizer 或模板配置,必要时手动修改或覆盖其 Chat Template。
验证方法
构造一个包含 tool_calls 的 assistant 消息,分别使用 dict 和 JSON 字符串作为 arguments,并尝试 content=None、content="" 及省略 content 键,对目标模型运行 apply_chat_template,观察输出是否符合预期格式,且无报错或内容被错误转义(如出现双重转义的引号)即可确认问题已解决。
参考来源
huggingface/transformers #45419
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


![[Bug]: vllm: error: unrecognized arguments: --task embedding](https://www.chat-gpts.plus/wp-content/uploads/2026/08/35603-f55775b0-768x403.jpg)