SGLang 运行时中的自定义聊天模板

SGLang运行时中的自定义聊天模板#

注意: 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模板格式,https://huggingface.co/docs/transformers/main/en/chat_templating

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