尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Qwen3.8-9B 对话模板与角色设定完全指南:从 messages 到 system prompt 的用法

Qwen3.8-9B 对话模板与角色设定完全指南:从 messages 到 system prompt 的用法 Qwen3.8-9B 对话模板与角色设定完全指南从 messages 到 system prompt 的用法【免费下载链接】Qwen3.8-9B项目地址: https://ai.gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B想用好 Qwen3.8-9B第一步就是理解它的对话模板与角色设定。Qwen3.8-9B 是一个基于 Qwen3.5-9B 架构、通过蒸馏 Qwen3.8 2.4T 大模型训练而来的 9B 级开源推理模型支持原生函数调用与 262,144 token 超长上下文。本文会从最基础的messages消息结构讲起一步步带你掌握system prompt的写法、四种角色system / user / assistant / tool的分工以及思考模式、工具调用等进阶用法让角色设定真正生效。 一句话总结对话模板负责把人话转成模型认识的格式角色设定则决定模型以什么身份、按什么规矩回答。两者配合才能让 Qwen3.8-9B 输出稳定可控。一、Qwen3.8-9B 对话模板是什么先认识 ChatML 格式对话模板chat template本质是一段渲染规则它把messages这样的消息列表拼接成模型能直接理解的 token 序列。Qwen3.8-9B 的对话模板采用 ChatML 风格源码位于 chat_template.jinja同时完整内嵌在 tokenizer_config.json 的chat_template字段中加载模型时会自动生效。渲染后的输入长这样|im_start|system 你是一个乐于助人的助手|im_end| |im_start|user 你好呀|im_end| |im_start|assistant 你好有什么可以帮你|im_end|其中两个核心特殊 token 是Token含义token id|im_start|标记一条消息开始248045|im_end|标记一条消息结束也是模型的 EOS248046看懂这个格式后你会发现所谓的角色设定本质上就是在消息里写明system角色的内容。✅二、messages 消息结构详解四种角色怎么分工messages是传给对话模板的消息列表每一项是一个包含role和content的字典。Qwen3.8-9B 共支持四种角色角色用途典型场景system全局角色设定与行为约束你是资深法律顾问……user用户提问提问、下达任务assistant模型回答含思考内容模型输出tool工具返回结果函数调用后的反馈一个最基础的 messages 结构messages [ {role: system, content: 你是编程助教回答要简洁并给出示例。}, {role: user, content: 什么是对话模板}, {role: assistant, content: 对话模板是把消息列表转换为模型输入格式的规则。} ]使用时有三个必须记住的硬性规则⚠️system 消息必须放在第一条否则模板会直接报错System message must be at the beginning⚠️messages 不能为空否则会提示No messages provided⚠️只支持上述四种角色其他角色会触发Unexpected message role异常。三、system prompt 角色设定实战从你是谁到行为约束system prompt系统提示词是角色设定的主战场它决定了模型的人设、语气、知识边界和输出格式。一个高质量的角色设定建议包含三个层次身份定义明确你是谁例如你是一位有 10 年经验的中医;行为规范规定怎么回答例如先给结论再解释禁止编造数据;输出格式约定长什么样例如用列表输出、每项不超过 20 字。一个完整的角色设定示例{role: system, content: 你是健身私教小Q。要求1. 用鼓励的语气2. 每次回答先给出训练建议再补充饮食提醒3. 涉及健康风险时务必建议咨询专业医生。}需要特别提醒system 消息中不能包含图片或视频。对话模板的源码里对 system 内容做了专门校验一旦出现图片会抛出System message cannot contain images异常chat_template.jinja 中的render_content宏。所以角色设定请只写文字。四、思考模式怎么控制enable_thinking 与 think 标签Qwen3.8-9B 是推理模型每次回答默认会先输出一段think.../think包裹的内心思考再给出最终答案。这对数学、代码等复杂任务很有利但如果你只想快速拿到答案可以通过两个方式控制方式一关闭思考调用apply_chat_template时传入enable_thinkingFalse模板会在生成提示末尾补上空的思考块inputs tok.apply_chat_template( messages, add_generation_promptTrue, enable_thinkingFalse, # 关闭思考 return_tensorspt )方式二只保留最终答案对模型输出做简单后处理把think块剥离只展示最终回答对话模板也支持直接在 assistant 消息里携带reasoning_content字段来显式区分思考与回答。另外别忘了add_generation_promptTrue这个参数——它会自动在输入末尾追加|im_start|assistant\nthink\n提示模型轮到你回答了这是每次生成都必须加的启动信号。 小贴士给推理模型预留足够的输出长度官方建议max_new_tokens至少 16384因为思考内容本身会占用不少 token。五、工具调用与多轮对话角色之间的接力Qwen3.8-9B 原生支持函数调用function calling无需额外微调。使用方式是在apply_chat_template中传入tools参数模板会自动在 system 区域注入工具描述并约定tool_call格式。一次工具调用的完整消息链路通常是system角色设定user用户提问assistant模型输出tool_callfunction函数名parameter参数.../function/tool_calltool携带工具返回的结果模板会自动用tool_response包裹assistant模型基于结果给出最终回答。模板还支持多步工具调用连续多次调用工具再统一回答这是实现 Agent 类应用的基础。调用格式细节同样定义在 chat_template.jinja 中例如函数名必须放在function...标签内、必填参数不能遗漏等。六、对话模板与角色设定的最佳实践清单✅system 永远放第一条且只写文字不放图片/视频✅角色设定要具体身份 规则 输出格式三段式避免你是个好助手这种空话✅控制思考模式复杂任务保留think简单问答用enable_thinkingFalse提速✅生成参数参考官方建议temperature0.6, top_p0.95, top_k20长文本不要用贪心解码容易重复✅善用超长上下文模型原生支持 262,144 token适合一次性放入大量资料做角色知识库✅多轮对话记得带历史messages 里保留完整轮次模型才能记住你们聊过什么。七、快速上手用 apply_chat_template 开始对话最后把上面的知识串起来一个最小可运行的调用流程如下from transformers import AutoTokenizer, AutoModelForCausalLM import torch tok AutoTokenizer.from_pretrained(empero-ai/Qwen3.8-9B) model AutoModelForCausalLM.from_pretrained( empero-ai/Qwen3.8-9B, dtypetorch.bfloat16, device_mapauto ) messages [ {role: system, content: 你是耐心的数学老师逐步讲解解题过程。}, {role: user, content: 蜗牛爬 10 米深的井每天白天爬 3 米、晚上滑 2 米几天能爬出去}, ] inputs tok.apply_chat_template( messages, add_generation_promptTrue, return_tensorspt ).to(model.device) out model.generate(inputs, max_new_tokens16384, temperature0.6, top_p0.95, top_k20, do_sampleTrue) print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokensTrue))如果想在本地部署这份模型权重可以 clone 仓库git clone https://gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B模型相关配置如最大上下文、特殊 token 定义都可以在 config.json、tokenizer_config.json、generation_config.json 中查到遇到生成异常时不妨先翻一翻这些文件。总结一下Qwen3.8-9B 的对话模板并不神秘它只是一套 ChatML 渲染规则而角色设定的精髓就是写好第一条system消息并配合思考模式与工具调用灵活组合。掌握了messages结构、system prompt写法、enable_thinking开关这三件事你就能让这个 9B 模型输出稳定、人设鲜明真正听懂人话。【免费下载链接】Qwen3.8-9B项目地址: https://ai.gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表