首页/AI/大模型部署与运维速查/chat template:消息到 prompt 的渲染
本包目录(267 条)
部署形态与选型43 条推理环境与 GPU50 条
推理参数与优化50 条
显存与并发估算40 条服务化与网关34 条运维监控与排障50 条

chat template:消息到 prompt 的渲染

Chat 模型要求把消息列表按模板渲染成带角色标记的 prompt:标准做法是用 tokenizer 自带 chat template(Jinja)渲染;模板与模型训练格式不一致是输出异常的常见根因。

本地渲染自查

本地渲染自查
from transformers import AutoTokenizer
tok = AutoTokenizer.from_pretrained("<模型路径>")
text = tok.apply_chat_template(
    [{"role": "user", "content": "你好"}],
    tokenize=False,
    add_generation_prompt=True,
)
print(repr(text))
核对点:角色标记、分隔符、BOS/EOS 与训练格式是否一致;服务端(vLLM 等)同样按模型自带模板渲染,模板缺失时需要显式配置。

易错点

  • 手拼 prompt 替代模板:特殊标记与格式对不上,表现为答非所问或输出角色标记;改模板前先对比渲染结果

数据来源与参考

  • Hugging Face:Chat templates 文档(huggingface.co/docs/transformers)
  • vLLM 官方文档:OpenAI 兼容服务器(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌