ChatON:Include auto converted ChatONMeta.hpp chat template data

This should allow for using this generic chat templating code flow
along with the included chat template data, without needing to
load any json file at runtime.

However If user wants to change the already included chat template
data, or add new chat template standard/model related data, one can
explicitly load json file.

TODO: Need to cross check this flow once, but logically should work
This commit is contained in:
HanishKVC 2024-05-12 13:56:02 +05:30
parent b8590e3e57
commit a3285e8e25
2 changed files with 289 additions and 1 deletions

View file

@ -307,7 +307,8 @@ public:
};
ChatTemplates gCT = {{}};
#include "chaton_meta.hpp"
//ChatTemplates gCT = {{}};
#ifdef CHATON_JSON

287
common/chaton_meta.hpp Normal file
View file

@ -0,0 +1,287 @@
//This is auto created/converted from chaton-meta-json file
#pragma once
#include "chaton.hpp"
ChatTemplates gCT = {{
{ "llama2", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "<s>" },
{ "system-prefix", "[INST] <<SYS>>\n" },
{ "system-suffix", "\n<</SYS>> " },
{ "system-end", "[/INST]\n\n" },
{ "user-begin", "<s>" },
{ "user-prefix", "[INST] " },
{ "user-suffix", " [/INST]\n\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "" },
{ "assistant-suffix", "" },
{ "assistant-end", "</s>" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", false },
{ "systemuser-1st-user-has-begin", false },
{ "systemuser-1st-user-has-prefix", false },
}},
{ "llama3", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<|start_header_id|>system<|end_header_id|>\n" },
{ "system-suffix", "<|eot_id|>\n\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "<|start_header_id|>user<|end_header_id|>\n" },
{ "user-suffix", "<|eot_id|>\n\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<|start_header_id|>assistant<|end_header_id|>\n" },
{ "assistant-suffix", "<|eot_id|>\n\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "chatml", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<|im_start|>system\n" },
{ "system-suffix", "<|im_end|>\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "<|im_start|>user\n" },
{ "user-suffix", "<|im_end|>\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<|im_start|>assistant\n" },
{ "assistant-suffix", "<|im_end|>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "zephyr", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<|system|>\n" },
{ "system-suffix", "" },
{ "system-end", "</s>\n" },
{ "user-begin", "" },
{ "user-prefix", "<|user|>\n" },
{ "user-suffix", "" },
{ "user-end", "</s>\n" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<|assistant|>\n" },
{ "assistant-suffix", "" },
{ "assistant-end", "</s>\n" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "gemma", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<start_of_turn>user\n" },
{ "system-suffix", "<end_of_turn>\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "<start_of_turn>user\n" },
{ "user-suffix", "<end_of_turn>\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<start_of_turn>model\n" },
{ "assistant-suffix", "<end_of_turn>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", false },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "deepseek-coder", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "\n<begin▁of▁sentence>" },
{ "system-prefix", "" },
{ "system-suffix", "\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "### Instruction:\n" },
{ "user-suffix", "\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "### Response:\n" },
{ "assistant-suffix", "\n<|EOT|>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", false },
{ "systemuser-1st-user-has-begin", false },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "deepseek", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "<begin▁of▁sentence>" },
{ "system-prefix", "" },
{ "system-suffix", "\n\n" },
{ "system-end", "" },
{ "user-begin", "<begin▁of▁sentence>" },
{ "user-prefix", "User: " },
{ "user-suffix", "\n\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "Assistant: " },
{ "assistant-suffix", " <end▁of▁sentence>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", false },
{ "systemuser-1st-user-has-begin", false },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "monarch", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "<s>" },
{ "system-prefix", "system\n" },
{ "system-suffix", "" },
{ "system-end", "</s>\n" },
{ "user-begin", "<s>" },
{ "user-prefix", "user\n" },
{ "user-suffix", "" },
{ "user-end", "</s>\n" },
{ "assistant-begin", "<s>" },
{ "assistant-prefix", "assistant\n" },
{ "assistant-suffix", "" },
{ "assistant-end", "</s>\n" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "mistral", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "<s>" },
{ "system-prefix", "[INST] " },
{ "system-suffix", " [/INST]" },
{ "system-end", "\n" },
{ "user-begin", "" },
{ "user-prefix", "[INST] " },
{ "user-suffix", " [/INST]" },
{ "user-end", "\n" },
{ "assistant-begin", "" },
{ "assistant-prefix", "" },
{ "assistant-suffix", "" },
{ "assistant-end", "</s> \n" },
{ "systemuser-system-has-suffix", false },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", false },
{ "systemuser-1st-user-has-prefix", false },
}},
{ "phi3", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<|system|>\n" },
{ "system-suffix", "<|end|>\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "<|user|>\n" },
{ "user-suffix", "<|end|>\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<|assistant|>\n" },
{ "assistant-suffix", "<|end|>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "command-r", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>" },
{ "system-suffix", "<|END_OF_TURN_TOKEN|>" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "<|START_OF_TURN_TOKEN|><|USER_TOKEN|>" },
{ "user-suffix", "<|END_OF_TURN_TOKEN|>" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>" },
{ "assistant-suffix", "<|END_OF_TURN_TOKEN|>" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "orion", {
{ "global-begin", "" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "Human: " },
{ "system-suffix", "\n\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "Human: " },
{ "user-suffix", "\n\nAssistant: </s>" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "" },
{ "assistant-suffix", "</s>" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", false },
{ "systemuser-1st-user-has-prefix", false },
}},
{ "openchat", {
{ "global-begin", "<s>" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "GPT4 Correct System: " },
{ "system-suffix", "<|end_of_turn|>" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "GPT4 Correct User: " },
{ "user-suffix", "<|end_of_turn|>" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "GPT4 Correct Assistant: " },
{ "assistant-suffix", "<|end_of_turn|>" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
{ "vicuna", {
{ "global-begin", "<s>" },
{ "global-end", "" },
{ "system-begin", "" },
{ "system-prefix", "SYSTEM: " },
{ "system-suffix", "\n\n" },
{ "system-end", "" },
{ "user-begin", "" },
{ "user-prefix", "USER: " },
{ "user-suffix", "\n" },
{ "user-end", "" },
{ "assistant-begin", "" },
{ "assistant-prefix", "ASSISTANT: " },
{ "assistant-suffix", "</s>\n" },
{ "assistant-end", "" },
{ "systemuser-system-has-suffix", true },
{ "systemuser-system-has-end", true },
{ "systemuser-1st-user-has-begin", true },
{ "systemuser-1st-user-has-prefix", true },
}},
}};