本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== transformer-token原理 ====== ===== tokenization在渲染jinja的模板代码 ===== <code> {%- if tools %} <|im_start|>system {%- if messages[0]['role'] == 'system' %} {{ messages[0]['content'] }} {%- else %} You are a helpful assistant. {%- endif %} # Tools You may call one or more functions to assist with the user query. You are provided with function signatures within <tools></tools> XML tags: <tools> {%- for tool in tools %} {{ tool | tojson }} {%- endfor %} </tools> For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags: <tool_call> {"name": <function-name>, "arguments": <args-json-object>} </tool_call><|im_end|> {%- else %} {%- if messages[0]['role'] == 'system' %} <|im_start|>system{{ messages[0]['content'] }}<|im_end|> {%- else %} <|im_start|>systemYou are a helpful assistant.<|im_end|> {%- endif %} {%- endif %} {%- for message in messages %} {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %} <|im_start|>{{ message.role }}{{ message.content }}<|im_end|> {%- elif message.role == "assistant" %} <|im_start|>{{ message.role }} {%- if message.content %} {{ message.content }} {%- endif %} {%- for tool_call in message.tool_calls %} {%- if tool_call.function is defined %} {%- set tool_call = tool_call.function %} {%- endif %} {{ '\n<tool_call>\n{"name": "' + tool_call.name + '", "arguments": ' + tool_call.arguments | tojson + '}\n</tool_call>' }} {%- endfor %} <|im_end|> {%- elif message.role == "tool" %} {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %} <|im_start|>user {%- endif %} {{ '\n</tool_call>\n' + message.content + '\n</tool>' }} {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} <|im_end|> {%- endif %} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} <|im_start|>assistant {%- endif %} </code> 在系统输入 You are a helpful assistant. 用户输入:你好,请介绍一下你自己。 的情况下,模板渲染的输出是: <code> <|im_start|>system You are a helpful assistant.<|im_end|> <|im_start|>user 你好,请介绍一下你自己。<|im_end|> <|im_start|>assistant </code>