自定义聊天模板

自定义聊天模板#

注意: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 格式#

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

{
  "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