自定义聊天模板#
注意:SGLang 项目中有两套聊天模板系统。本文档关于为兼容 OpenAI 的 API 服务器设置自定义聊天模板(定义于 conversation.py)。它与 SGLang 语言前端使用的聊天模板(定义于 chat_template.py)无关。
默认情况下,服务器使用 Hugging Face 模型分词器(tokenizer)中指定的聊天模板。对于 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