自定义聊天模板

自定义聊天模板#

注意:SGLang 项目中有两种聊天模板系统。本文档介绍如何为 OpenAI 兼容的 API 服务器设置自定义聊天模板(定义于 conversation.py)。这与 SGLang 语言前端中使用的聊天模板(定义于 chat_template.py)无关。

默认情况下,服务器使用 Hugging Face 模型分词器中指定的聊天模板。这适用于大多数官方模型,例如 Llama-2/Llama-3。

如有需要,您也可以在启动服务器时覆盖聊天模板

python -m sglang.launch_server --model-path meta-llama/Llama-2-7b-chat-hf --port 30000 --chat-template llama-2

如果您正在寻找的聊天模板缺失,欢迎贡献或从文件中加载。

JSON 格式#

您可以加载 JSON 格式,该格式由 conversation.py 定义。

{
  "name": "my_model",
  "system": "<|im_start|>system",
  "user": "<|im_start|>user",
  "assistant": "<|im_start|>assistant",
  "sep_style": "CHATML",
  "sep": "<|im_end|>",
  "stop_str": ["<|im_end|>", "<|im_start|>"]
}
python -m sglang.launch_server --model-path meta-llama/Llama-2-7b-chat-hf --port 30000 --chat-template ./my_model_template.json

Jinja 格式#

您也可以使用 Hugging Face Transformers 定义的 Jinja 模板格式

python -m sglang.launch_server --model-path meta-llama/Llama-2-7b-chat-hf --port 30000 --chat-template ./my_model_template.jinja