affordance

Showcase  /  Compatibility test

57 models' prompt formats rebuilt in Affordance, each matching the official one token for token

Every chat model was trained on conversations written in one exact format, with its own markers for where each message starts and ends. If your prompt is off by one marker, the model is reading something it was never trained on. We rebuilt the format of 57 models in Affordance and checked each one against the official version, token for token.

QwenQwen3-8BQwen1.5-7B-ChatQwen2-7B-InstructQwen2.5-7B-InstructQwen2.5-Coder-7B-InstructQwQ-32BQwen3-4B-Instruct-2507Qwen3-Next-80B-A3B-InstructQwen3-4B-Thinking-2507Qwen3-Coder-30B-A3B-InstructQwen3.5-9BQwen3.6-27BQwen3.8-27B
DeepSeekDeepSeek-V3.1deepseek-llm-7b-chatDeepSeek-V2.5DeepSeek-V3DeepSeek-V3-0324DeepSeek-R1DeepSeek-R1-0528DeepSeek-V3.1-TerminusDeepSeek-V4.1-FlashDeepSeek-V3.2DeepSeek-V4-FlashDeepSeek-V4-Pro
gpt-ossgpt-oss-20bgpt-oss-120b
MiMoMiMo-7B-RLMiMo-V2-FlashMiMo-V2.5MiMo-V2.5-ProMiMo-V2.6-Flash-RL
LlamaLlama-2-7b-chat-hfMeta-Llama-3-8B-InstructLlama-3.1-8B-InstructLlama-3.2-3B-InstructLlama-3.3-70B-InstructLlama-4-Scout-17B-16E-Instruct
MistralMistral-7B-Instruct-v0.3Mistral-Nemo-Instruct-2407Ministral-3-8B-Instruct-2512Mistral-Small-4-119B-2603Mistral-Medium-3.5-128BMistral-Small-3.2-24B-Instruct-2506Magistral-Small-2509
GLMglm-4-9b-chat-hfGLM-4-9B-0414GLM-Z1-9B-0414GLM-4.5GLM-4.6GLM-4.7GLM-5GLM-5.1GLM-5.2GLM-5.3
KolibriKolibri-1
MuseMuse-Glimmer-30B

What a prompt format is

You send a model a list of messages. The model reads one long run of tokens, which are numbers that each stand for a piece of a word. Something has to turn the first into the second, and every model family does it differently. Here is the same short conversation in the format of three models:

Qwen3.6
<|im_start|>system
# Tools

GLM-5.3
[gMASK]<sop><|system|>Reasoning Effort: Max<|system|>
# Tools

Llama 3.1
<|begin_of_text|><|start_header_id|>system<|end_header_id|>

The model's authors publish the format as a chat template, a small program in a template language called Jinja. They also publish a tokenizer, the program that splits text into tokens. Running one and then the other gives the official tokens.

What we built and how we checked it

For each of the 57 models we wrote the format as an Affordance app. Then we took 963 test conversations: plain chats, system messages, tools the model can call, the results of those calls, and the model's own reasoning. We ran every conversation through our app and through the model's official template and tokenizer, and compared the two lists of tokens.

Across all 57 modelsConversations
Our app and the official tools gave the same tokens40,977
The official template rejected the conversation, and so did our app13,914
Different0
Compared54,891

A template can reject a conversation it does not support. An older model with no tool format rejects any conversation that uses tools, for example. For those we checked that our app rejects the same conversations.

Why it is useful

These apps are what Affordance uses when you write an agent and name a model: the agent's prompt comes out in that model's format. They are also what we put inside SGLang and vLLM in place of the Jinja template.

The apps are in the repository under views/, one directory per model family. If a token ever differs from your model's template, open an issue and we will fix it.

Every model

ModelSame tokensRejected by bothDifferent
Qwen
Qwen3-8B932310
Qwen1.5-7B-Chat6503130
Qwen2-7B-Instruct6503130
Qwen2.5-7B-Instruct7232400
Qwen2.5-Coder-7B-Instruct7232400
QwQ-32B6563070
Qwen3-4B-Instruct-2507932310
Qwen3-Next-80B-A3B-Instruct932310
Qwen3-4B-Thinking-2507932310
Qwen3-Coder-30B-A3B-Instruct6103530
Qwen3.5-9B7402230
Qwen3.6-27B7402230
Qwen3.8-27B6383250
DeepSeek
DeepSeek-V3.14714920
deepseek-llm-7b-chat6503130
DeepSeek-V2.56732900
DeepSeek-V36543090
DeepSeek-V3-03244714920
DeepSeek-R14714920
DeepSeek-R1-05284704930
DeepSeek-V3.1-Terminus4714920
DeepSeek-V4.1-Flash8271360
DeepSeek-V3.25524110
DeepSeek-V4-Flash7352280
DeepSeek-V4-Pro7352280
gpt-oss
gpt-oss-20b6153480
gpt-oss-120b6153480
MiMo
MiMo-7B-RL7232400
MiMo-V2-Flash6103530
MiMo-V2.57432200
MiMo-V2.5-Pro7432200
MiMo-V2.6-Flash-RL96300
Llama
Llama-2-7b-chat-hf4375260
Meta-Llama-3-8B-Instruct96300
Llama-3.1-8B-Instruct7372260
Llama-3.2-3B-Instruct7372260
Llama-3.3-70B-Instruct7372260
Llama-4-Scout-17B-16E-Instruct864990
Mistral
Mistral-7B-Instruct-v0.36313320
Mistral-Nemo-Instruct-24076313320
Ministral-3-8B-Instruct-2512927360
Mistral-Small-4-119B-26036982650
Mistral-Medium-3.5-128B6982650
Mistral-Small-3.2-24B-Instruct-25064205430
Magistral-Small-25098311320
GLM
glm-4-9b-chat-hf96300
GLM-4-9B-041496300
GLM-Z1-9B-04146682950
GLM-4.57941690
GLM-4.67941690
GLM-4.77941690
GLM-57941690
GLM-5.17941690
GLM-5.27941690
GLM-5.37941690
Kolibri
Kolibri-17352280
Muse
Muse-Glimmer-30B7292340