← AI 术语表

AI 术语表 · 基础 · 语言模型

聊天模板

聊天模板是一套规则,它把由系统、用户、助手消息组成的对话,转换成模型训练时所见的原样字符串格式(包括特殊 token)。

关于这个术语
难度
基础 · AI 新闻中常见的技术术语
加入时间
2026-10-12
通俗解释 这和政府机关的表格类似。即使内容相同,如果不按表格栏目填写,经办人也会处理错。

工作原理

Instruct 模型在训练时看到的对话,都用特殊 token 标出了“从这里开始是用户的话、从这里开始是助手的话”。聊天模板会把我们发送的消息列表转换成正是这种格式的长字符串,并在末尾加上“现在轮到助手”的标记,让模型开始写回答。标记工具调用或思考过程的格式,也常常一并在模板中规定。

消息到达模型的过程

  1. 1
    消息列表系统·用户·助手
  2. 2
    应用模板用特殊 token 标记角色
  3. 3
    轮次标记现在轮到助手回答
  4. 4
    分词分词器转换为编号
  5. 5
    模型生成遇到结束 token 时停止
对话消息经过聊天模板成为模型输入的顺序。

在哪里查看

可以在 Hugging Face 仓库 tokenizer_config.json 中的 chat_template 字段或单独的模板文件中查看,它用一种名为 Jinja 的模板语法编写。在 transformers 库中,apply_chat_template 等函数负责应用模板。GGUF 文件有时会把模板存放在元数据中,也可以在推理引擎的配置中直接指定模板。云端 API 会在服务器端代为处理这一过程,用户只需发送消息列表。

注意事项

模板出错时,模型仍能运行,但常见的症状是回答离题,或者停不下来,连用户的话也编造出来继续往下写。每个模型的模板都不同,因此不能直接套用其他模型的格式。Base 模型往往没有聊天模板,或者模板没有意义。微调时,训练和服务也必须使用相同的模板,才能保持性能。

示例

一位开发者把一个新的开放权重模型部署到本地推理引擎上,结果回答没有结束,还接着写出了以“用户:”开头的句子。重新查看模型卡后发现,这个模型使用专用的聊天模板,而引擎套用的是另一个模型的模板。把仓库 tokenizer_config.json 中的模板指定到引擎配置后,对话恢复了正常。

相关术语