커스텀 채팅 템플릿
커스텀 채팅 템플릿 (Custom Chat Template)
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 Format)
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 형식 (Jinja Format)
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