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

资讯详情

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

Qwen3.8-9B 函数调用实战教程:三步让模型自动使用外部工具

Qwen3.8-9B 函数调用实战教程:三步让模型自动使用外部工具 Qwen3.8-9B 函数调用实战教程三步让模型自动使用外部工具【免费下载链接】Qwen3.8-9B项目地址: https://ai.gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9BQwen3.8-9B 函数调用Function Calling能力能让 90 亿参数的模型在需要时自动调用外部工具——查天气、搜资料、操作 API 都不在话下。Qwen3.8-9B 是 empero-ai 团队将 Qwen3.8 2.4T 超大规模模型蒸馏进 Qwen3.5-9B 架构的开源大模型原生支持函数调用无需插件、无需额外微调。本文用三个简单步骤带你从零跑通 Qwen3.8-9B 函数调用全流程读完即可上手。为什么函数调用如此重要Qwen3.8-9B 的独特优势普通大模型只会纸上谈兵你问今天北京天气如何它只能给出过时的知识。而具备函数调用能力的模型会先判断是否需要外部工具然后自动生成调用指令把实时数据带回对话。这就是 AI Agent智能体的核心基础。Qwen3.8-9B 在函数调用上的优势非常突出✅原生支持按 Qwen3.5 规范实现不依赖任何包装器wrapper或工具专属微调超长上下文原生支持 262,144 token约 26 万可承载多轮工具调用记录推理 工具双强基于约 7 万条高质量教师轨迹蒸馏覆盖数学、代码、推理与工具使用单卡可部署90 亿参数的稠密模型普通 GPU 即可运行开源友好Apache-2.0 协议可自由用于研究与商用场景三步实现 Qwen3.8-9B 函数调用步骤做什么需要的时间第一步准备运行环境与模型权重约 10 分钟第二步定义外部工具函数描述约 5 分钟第三步注入对话、生成并解析调用结果约 5 分钟第一步准备运行环境与模型权重推荐使用较新的transformers版本需支持 Qwen3.5 架构并准备好模型权重。完整仓库位于hf_mirrors/empero-ai/Qwen3.8-9B可直接克隆到本地git clone https://gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B仓库内的config.json定义了模型架构Qwen3_5ForConditionalGeneration与 262,144 上下文长度generation_config.json预置了推荐的采样参数。加载模型只需短短几行from transformers import AutoModelForCausalLM, AutoTokenizer import torch tok AutoTokenizer.from_pretrained(empero-ai/Qwen3.8-9B) model AutoModelForCausalLM.from_pretrained( empero-ai/Qwen3.8-9B, torch_dtypetorch.bfloat16, device_mapauto ) 若推理时线性注意力层变慢请安装flash-linear-attention与配套的causal_conv1d内核可获得数倍加速。第二步定义外部工具函数描述函数调用的核心是给模型一张工具说明书。以查询天气为例用 JSON 描述工具名称、用途和参数tools [{ type: function, function: { name: get_weather, description: 查询指定城市的实时天气, parameters: { type: object, properties: { city: {type: string, description: 城市名称} }, required: [city] } } }]描述写得越清楚尤其是description和required模型越能准确选择并填对参数这也是提升调用成功率的关键技巧。第三步注入对话生成并解析结果Qwen3.8-9B 的聊天模板仓库中的chat_template.jinja会自动把工具列表写入系统提示词你只需把它作为tools参数传入messages [{role: user, content: 北京今天适合穿什么}] inputs tok.apply_chat_template( messages, toolstools, add_generation_promptTrue, return_tensorspt ).to(model.device) out model.generate(inputs, max_new_tokens2048, temperature0.6, top_p0.95, top_k20, do_sampleTrue) print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokensTrue))当模型判断需要外部数据时它会输出类似下面的调用指令而不是直接编答案tool_call functionget_weather parametercity 北京 /parameter /function /tool_call你只需解析这段 XML 结构执行真实的天气 API再把结果以tool_response形式回传给模型它就会基于真实数据继续作答完成查询 → 调用 → 总结的完整闭环。读懂输出格式tool_call 与 tool_response理解 Qwen3.8-9B 函数调用的输出约定是进阶调优的基础完整逻辑见仓库中的chat_template.jinjatool_call//tool_call一次函数调用的最外层包裹标签function函数名声明要调用的工具名称parameter参数名值/parameter逐个传入参数支持多行文本tool_response//tool_response工具执行结果回传时使用的标签聊天模板会据此识别多轮工具交互此外模型每次回答都会先输出think推理块再给出结果如果你希望跳过思考过程可在生成时设置enable_thinkingfalse。这些特殊 tokentool_call、tool_response、think等都已在仓库的tokenizer_config.json中注册开箱即用。新手必看4 个提升函数调用成功率的小技巧给足输出长度模型回答前会先思考建议max_new_tokens至少给到 16,384避免长推理被截断导致调用失败。使用推荐采样参数temperature0.6, top_p0.95, top_k20是 Qwen3.5 系列推荐组合长文本生成时切忌纯贪心解码容易陷入重复循环。把工具描述写具体参数是否必填、单位、枚举范围都写进description能显著减少模型猜错参数。解析并剥离think块给最终用户展示前记得用正则剔除think.../think推理内容只保留正式回答与工具调用。总结Qwen3.8-9B 函数调用并不神秘准备环境 → 定义工具 → 注入对话三步即可让模型自主决定何时调用外部工具。得益于原生函数调用能力与 26 万超长上下文它非常适合搭建个人 AI 助理、自动化工作流等智能体应用。想深入钻研不妨打开仓库中的这几个文件chat_template.jinja工具注入与解析的完整实现、tokenizer_config.json全部特殊 token 定义、config.json架构与上下文配置。动手跑通一个小工具你就真正掌握了 Qwen3.8-9B 函数调用的精髓。【免费下载链接】Qwen3.8-9B项目地址: https://ai.gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表