[
{
    "search": ["<|im_start|>assistant", "<|im_end|>", "<|im_sep|>"],
    "name": "ChatML (Phi 4)",
    "adapter": {
        "system_start": "<|im_start|>system<|im_sep|>",
        "system_end": "<|im_end|>",
        "user_start": "<|im_start|>user<|im_sep|>",
        "user_end": "<|im_end|>",
        "assistant_start": "<|im_start|>assistant<|im_sep|>",
        "assistant_end": "<|im_end|>"
    }
}, {
    "search": ["<|im_start|>assistant", "<|im_end|>", "You are provided with function signatures within <tools>"],
    "name": "ChatML (Qwen 2.5 based)",
    "adapter": {
        "system_start": "<|im_start|>system\n",
        "system_end": "<|im_end|>\n",
        "user_start": "<|im_start|>user\n",
        "user_end": "<|im_end|>\n",
        "assistant_start": "<|im_start|>assistant\n",
        "assistant_end": "<|im_end|>\n"
    }
}, {
    "search": ["<|im_user|>{{role_name}}<|im_middle|>", "<|im_assistant|>{{role_name}}<|im_middle|>", "<|im_end|>"],
    "name": "ChatML (Kimi)",
    "adapter": {
        "system_start": "<|im_system|>system<|im_middle|>",
        "system_end": "<|im_end|>",
        "user_start": "<|im_user|>user<|im_middle|>",
        "user_end": "<|im_end|>",
        "assistant_start": "<|im_assistant|>assistant<|im_middle|>",
        "assistant_end": "<|im_end|>"
    }
}, {
    "search": ["<|im_user|>", "<|im_system|>system<|im_middle|>", "<|im_end|>"],
    "name": "ChatML (Kimi Alternate)",
    "adapter": {
        "system_start": "<|im_system|>system<|im_middle|>",
        "system_end": "<|im_end|>",
        "user_start": "<|im_user|>user<|im_middle|>",
        "user_end": "<|im_end|>",
        "assistant_start": "<|im_assistant|>assistant<|im_middle|>",
        "assistant_end": "<|im_end|>"
    }
}, {
    "search": ["System role not supported", "<start_of_turn>"],
    "name": "Google Gemma 2",
    "adapter": {
        "system_start": "<start_of_turn>user\n",
        "system_end": "<end_of_turn>\n",
        "user_start": "<start_of_turn>user\n",
        "user_end": "<end_of_turn>\n",
        "assistant_start": "<start_of_turn>model\n",
        "assistant_end": "<end_of_turn>\n"
    }
}, {
    "search": ["<start_of_image>", "<start_of_turn>", "<end_of_turn>"],
    "name": "Google Gemma 3",
    "adapter": {
        "system_start": "<start_of_turn>user\n",
        "system_end": "<end_of_turn>\n",
        "user_start": "<start_of_turn>user\n",
        "user_end": "<end_of_turn>\n",
        "assistant_start": "<start_of_turn>model\n",
        "assistant_end": "<end_of_turn>\n"
    }
}, {
    "search": ["<image_soft_token>", "<start_of_turn>model", "<end_of_turn>"],
    "name": "Google Gemma 3n",
    "adapter": {
        "system_start": "<start_of_turn>user\n",
        "system_end": "<end_of_turn>\n",
        "user_start": "<start_of_turn>user\n",
        "user_end": "<end_of_turn>\n",
        "assistant_start": "<start_of_turn>model\n",
        "assistant_end": "<end_of_turn>\n"
    }
}, {
    "search": ["<|turn>model","<|think|>","<|channel>thought\\n<channel|>"],
    "name": "Google Gemma 4 (26B and 31B)",
    "adapter": {
        "system_start": "<|turn>system\n",
        "system_end": "<turn|>\n",
        "user_start": "<|turn>user\n",
        "user_end": "<turn|>\n",
        "assistant_start": "<|turn>model\n",
        "assistant_gen":  "<|turn>model\n<|channel>thought\n<channel|>",
        "assistant_end": "<turn|>\n"
    }
}, {
    "search": ["<|turn>model","<|think|>"],
    "name": "Google Gemma 4 (E2B and E4B)",
    "adapter": {
        "system_start": "<|turn>system\n",
        "system_end": "<turn|>\n",
        "user_start": "<|turn>user\n",
        "user_end": "<turn|>\n",
        "assistant_start": "<|turn>model\n",
        "assistant_end": "<turn|>\n"
    }
}, {
    "search": ["<|start_header_id|>assistant<|end_header_id|>"],
    "name": "Llama 3.x",
    "adapter": {
        "system_start": "<|start_header_id|>system<|end_header_id|>\n\n",
        "system_end": "<|eot_id|>",
        "user_start": "<|start_header_id|>user<|end_header_id|>\n\n",
        "user_end": "<|eot_id|>",
        "assistant_start": "<|start_header_id|>assistant<|end_header_id|>\n\n",
        "assistant_end": "<|eot_id|>"
    }
}, {
    "search": ["<|header_start|>assistant<|header_end|>"],
    "name": "Llama 4",
    "adapter": {
        "system_start": "<|header_start|>system<|header_end|>\n\n",
        "system_end": "<|eot|>",
        "user_start": "<|header_start|>user<|header_end|>\n\n",
        "user_end": "<|eot|>",
        "assistant_start": "<|header_start|>assistant<|header_end|>\n\n",
        "assistant_end": "<|eot|>"
    }
}, {
    "search": ["<|start_of_role|>system<|end_of_role|>"],
    "name": "Granite 4",
    "adapter": {
        "system_start": "<|start_of_role|>system<|end_of_role|>",
        "system_end": "<|end_of_text|>\n",
        "user_start": "<|start_of_role|>user<|end_of_role|>",
        "user_end": "<|end_of_text|>\n",
        "assistant_start": "<|start_of_role|>assistant<|end_of_role|>",
        "assistant_end": "<|end_of_text|>\n"
    }
}, {
    "search": ["[/INST]", "[SYSTEM_PROMPT]"],
    "name": "Mistral Tekken",
    "adapter": {
        "system_start": "[SYSTEM_PROMPT]",
        "system_end": "[/SYSTEM_PROMPT]",
        "user_start": "[INST]",
        "user_end": "",
        "assistant_start": "[/INST]",
        "assistant_end": "</s>"
    }
}, {
    "search": ["[/INST]", "\"[INST] \" + system_message"],
    "name": "Mistral Non-Tekken",
    "adapter": {
        "system_start": "[INST] ",
        "system_end": "[/INST]",
        "user_start": "[INST] ",
        "user_end": "",
        "assistant_start": "[/INST] ",
        "assistant_gen": "[/INST]",
        "assistant_end": "</s>"
    }
}, {
    "search": ["[gMASK]<sop>","content.split('</think>')"],
    "name": "GLM-4.7",
    "adapter": {
        "system_start": "<|system|>\n",
        "system_end": "",
        "user_start": "<|user|>\n",
        "user_end": "",
        "assistant_start": "<|assistant|>\n<think>",
        "assistant_end": ""
    }
}, {
    "search": ["[gMASK]<sop>"],
    "name": "GLM-4",
    "adapter": {
        "system_start": "<|system|>\n",
        "system_end": "",
        "user_start": "<|user|>\n",
        "user_end": "",
        "assistant_start": "<|assistant|>\n",
        "assistant_end": ""
    }
}, {
    "search": ["<|system|>", "<|user|>"],
    "name": "Phi 3.5",
    "adapter": {
        "system_start": "<|system|>\n",
        "system_end": "<|end|>\n",
        "user_start": "<|user|>\n",
        "user_end": "<|end|>\n",
        "assistant_start": "<|assistant|>\n",
        "assistant_end": "<|end|>\n"
    }
}, {
    "search": ["'<|' + message['role'] + '|>'"],
    "name": "Phi 4 (mini)",
    "adapter": {
        "system_start": "<|system|>",
        "system_end": "<|end|>",
        "user_start": "<|user|>",
        "user_end": "<|end|>",
        "assistant_start": "<|assistant|>",
        "assistant_end": "<|end|>"
    }
}, {
    "search": ["<|START_OF_TURN_TOKEN|>"],
    "name": "Cohere (Aya Expanse 32B based)",
    "adapter": {
        "system_start": "<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>",
        "system_end": "<|END_OF_TURN_TOKEN|>",
        "user_start": "<|START_OF_TURN_TOKEN|><|USER_TOKEN|>",
        "user_end": "<|END_OF_TURN_TOKEN|>",
        "assistant_start": "<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>",
        "assistant_end": "<|END_OF_TURN_TOKEN|>"
    }
}, {
    "search": ["<｜User｜>"],
    "name": "DeepSeek V2.5",
    "adapter": {
        "system_start": "",
        "system_end": "",
        "user_start": "<｜User｜>",
        "user_end": "",
        "assistant_start": "<｜Assistant｜>",
        "assistant_end": "<｜end▁of▁sentence｜>"
    }
}, {
    "search": ["<|bom|>","is_last_checked_defined"],
    "name": "Jamba",
    "adapter": {
        "system_start": "<|bom|><|system|> ",
        "system_end": "<|eom|>",
        "user_start": "<|bom|><|user|> ",
        "user_end": "<|eom|>",
        "assistant_start": "<|bom|><|assistant|> ",
        "assistant_gen": "<|bom|><|assistant|>",
        "assistant_end": "<|eom|>"
    }
}, {
    "search": ["<|userprompt|>", "<|endofuserprompt|>", "<|response|>", "<|endofresponse|>"],
    "name": "Dots",
    "adapter": {
        "system_start": "<|system|>",
        "system_end": "<|endofsystem|>",
        "user_start": "<|userprompt|>",
        "user_end": "<|endofuserprompt|>",
        "assistant_start": "<|response|>",
        "assistant_end": "<|endofresponse|>"
    }
}, {
    "search": ["<|start|>user<|message|>", "<|channel|>", "<|end|>"],
    "name": "OpenAI Harmony",
    "adapter": {
        "system_start": "<|start|>developer<|message|># Instructions\n\n",
        "system_end": "\n\n<|end|>",
        "user_start": "<|start|>user<|message|>",
        "user_end": "<|end|>",
        "assistant_start": "<|start|>assistant<|channel|>analysis<|message|>We can answer immediately.<|end|><|start|>assistant<|channel|>final<|message|>",
        "assistant_end": "<|end|>"
    }
}, {
    "search": ["<seed:bos>", "<seed:eos>"],
    "name": "Seed OSS",
    "adapter": {
        "system_start": "<seed:bos>system\n",
        "system_end": "<seed:eos>",
        "user_start": "<seed:bos>user\n",
        "user_end": "<seed:eos>",
        "assistant_start": "<seed:bos>assistant\n",
        "assistant_end": "<seed:eos>"
    }
}, {
    "search": ["rwkv_", "'User: '"],
    "name": "RWKV World",
    "adapter": {
        "system_start": "",
        "system_end": "\n\n",
        "user_start": "User: ",
        "user_end": "\n\n",
        "assistant_start": "Assistant: ",
        "assistant_gen": "Assistant:",
        "assistant_end": "\n\n"
    }
}, {
    "search": ["[/INST]"],
    "name": "Mistral (Generic)",
    "adapter": {
        "system_start": "[INST]",
        "system_end": "[/INST]",
        "user_start": "[INST]",
        "user_end": "",
        "assistant_start": "[/INST]",
        "assistant_end": "</s>"
    }
}, {
    "search": ["<|im_start|>assistant", "<|im_end|>"],
    "name": "ChatML (Generic)",
    "adapter": {
        "system_start": "<|im_start|>system\n",
        "system_end": "<|im_end|>\n",
        "user_start": "<|im_start|>user\n",
        "user_end": "<|im_end|>\n",
        "assistant_start": "<|im_start|>assistant\n",
        "assistant_end": "<|im_end|>\n"
    }
}, {
    "search": ["[e~[","]~b]user"],
    "name": "MiniMax",
    "adapter": {
		"system_start": "]~!b[]~b]system\n",
		"system_end": "[e~[\n",
		"user_start": "]~b]user\n",
		"user_end": "[e~[\n",
		"assistant_start": "]~b]ai\n",
		"assistant_end": "[e~[\n"
    }
}
]
