llama : add DeepSeek-V3 chat template
This commit is contained in:
parent
ddb2dddac1
commit
a48c3df3df
2 changed files with 19 additions and 0 deletions
|
@ -45,6 +45,7 @@ static const std::map<std::string, llm_chat_template> LLM_CHAT_TEMPLATES = {
|
||||||
{ "vicuna-orca", LLM_CHAT_TEMPLATE_VICUNA_ORCA },
|
{ "vicuna-orca", LLM_CHAT_TEMPLATE_VICUNA_ORCA },
|
||||||
{ "deepseek", LLM_CHAT_TEMPLATE_DEEPSEEK },
|
{ "deepseek", LLM_CHAT_TEMPLATE_DEEPSEEK },
|
||||||
{ "deepseek2", LLM_CHAT_TEMPLATE_DEEPSEEK_2 },
|
{ "deepseek2", LLM_CHAT_TEMPLATE_DEEPSEEK_2 },
|
||||||
|
{ "deepseek3", LLM_CHAT_TEMPLATE_DEEPSEEK_3 },
|
||||||
{ "command-r", LLM_CHAT_TEMPLATE_COMMAND_R },
|
{ "command-r", LLM_CHAT_TEMPLATE_COMMAND_R },
|
||||||
{ "llama3", LLM_CHAT_TEMPLATE_LLAMA_3 },
|
{ "llama3", LLM_CHAT_TEMPLATE_LLAMA_3 },
|
||||||
{ "chatglm3", LLM_CHAT_TEMPLATE_CHATGML_3 },
|
{ "chatglm3", LLM_CHAT_TEMPLATE_CHATGML_3 },
|
||||||
|
@ -148,6 +149,8 @@ llm_chat_template llm_chat_detect_template(const std::string & tmpl) {
|
||||||
return LLM_CHAT_TEMPLATE_MINICPM;
|
return LLM_CHAT_TEMPLATE_MINICPM;
|
||||||
} else if (tmpl_contains("'Assistant: ' + message['content'] + eos_token")) {
|
} else if (tmpl_contains("'Assistant: ' + message['content'] + eos_token")) {
|
||||||
return LLM_CHAT_TEMPLATE_DEEPSEEK_2;
|
return LLM_CHAT_TEMPLATE_DEEPSEEK_2;
|
||||||
|
} else if (tmpl_contains(LU8("'<|Assistant|>' + message['content'] + '<|end▁of▁sentence|>'"))) {
|
||||||
|
return LLM_CHAT_TEMPLATE_DEEPSEEK_3;
|
||||||
} else if (tmpl_contains("[|system|]") && tmpl_contains("[|assistant|]") && tmpl_contains("[|endofturn|]")) {
|
} else if (tmpl_contains("[|system|]") && tmpl_contains("[|assistant|]") && tmpl_contains("[|endofturn|]")) {
|
||||||
// ref: https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct/discussions/8#66bae61b1893d14ee8ed85bb
|
// ref: https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct/discussions/8#66bae61b1893d14ee8ed85bb
|
||||||
// EXAONE-3.0-7.8B-Instruct
|
// EXAONE-3.0-7.8B-Instruct
|
||||||
|
@ -453,6 +456,21 @@ int32_t llm_chat_apply_template(
|
||||||
if (add_ass) {
|
if (add_ass) {
|
||||||
ss << "Assistant:";
|
ss << "Assistant:";
|
||||||
}
|
}
|
||||||
|
} else if (tmpl == LLM_CHAT_TEMPLATE_DEEPSEEK_3) {
|
||||||
|
// DeepSeek-V3
|
||||||
|
for (auto message : chat) {
|
||||||
|
std::string role(message->role);
|
||||||
|
if (role == "system") {
|
||||||
|
ss << message->content << "\n\n";
|
||||||
|
} else if (role == "user") {
|
||||||
|
ss << LU8("<|User|>") << message->content;
|
||||||
|
} else if (role == "assistant") {
|
||||||
|
ss << LU8("<|Assistant|>") << message->content << LU8("<|end▁of▁sentence|>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (add_ass) {
|
||||||
|
ss << LU8("<|Assistant|>");
|
||||||
|
}
|
||||||
} else if (tmpl == LLM_CHAT_TEMPLATE_EXAONE_3) {
|
} else if (tmpl == LLM_CHAT_TEMPLATE_EXAONE_3) {
|
||||||
// ref: https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct/discussions/8#66bae61b1893d14ee8ed85bb
|
// ref: https://huggingface.co/LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct/discussions/8#66bae61b1893d14ee8ed85bb
|
||||||
// EXAONE-3.0-7.8B-Instruct
|
// EXAONE-3.0-7.8B-Instruct
|
||||||
|
|
|
@ -25,6 +25,7 @@ enum llm_chat_template {
|
||||||
LLM_CHAT_TEMPLATE_VICUNA_ORCA,
|
LLM_CHAT_TEMPLATE_VICUNA_ORCA,
|
||||||
LLM_CHAT_TEMPLATE_DEEPSEEK,
|
LLM_CHAT_TEMPLATE_DEEPSEEK,
|
||||||
LLM_CHAT_TEMPLATE_DEEPSEEK_2,
|
LLM_CHAT_TEMPLATE_DEEPSEEK_2,
|
||||||
|
LLM_CHAT_TEMPLATE_DEEPSEEK_3,
|
||||||
LLM_CHAT_TEMPLATE_COMMAND_R,
|
LLM_CHAT_TEMPLATE_COMMAND_R,
|
||||||
LLM_CHAT_TEMPLATE_LLAMA_3,
|
LLM_CHAT_TEMPLATE_LLAMA_3,
|
||||||
LLM_CHAT_TEMPLATE_CHATGML_3,
|
LLM_CHAT_TEMPLATE_CHATGML_3,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue