当前位置: 首页 > news >正文

Qwen3.7 Function Calling实战教程:从零搭建AI智能体(附可直接运行代码)

前言

最近在做一个内部运维助手项目,需要让AI真正调用外部工具干活,而不只是聊天。

最终选了Qwen3.7-Max,原因很直接:国内访问稳定、数据不出境、工具调用能力比上一代强不少。

下面是完整搭建笔记,代码全部可直接运行。

一、环境配置


安装依赖:

pip install openai httpx

配置客户端:

from openai import OpenAI client = OpenAI( api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" )

二、定义工具

以“查天气”和“发邮件”两个工具为例:

tools = [ { "type": "function", "function": { "name": "get_weather", "description": "获取指定城市的实时天气", "parameters": { "type": "object", "properties": { "city": {"type": "string", "description": "城市名,如北京"} }, "required": ["city"] } } }, { "type": "function", "function": { "name": "send_email", "description": "发送邮件", "parameters": { "type": "object", "properties": { "to": {"type": "string", "description": "收件人邮箱"}, "body": {"type": "string", "description": "邮件正文"} }, "required": ["to", "body"] } } } ]

三、发起调用

response = client.chat.completions.create( model="qwen-max", messages=[ {"role": "system", "content": "你是一个运维助手,可以查询天气和发送邮件。"}, {"role": "user", "content": "查一下北京今天的天气,然后把结果发给 admin@example.com"} ], tools=tools, tool_choice="auto" )

四、处理返回结果


模型只负责决定调用哪个工具,真正执行必须由你的代码完成:

import json tool_calls = response.choices[0].message.tool_calls for tool_call in tool_calls: name = tool_call.function.name args = json.loads(tool_call.function.arguments) if name == "get_weather": result = f"北京今天晴天,25度" # 实际替换为API调用 elif name == "send_email": result = f"邮件已发送至{args['to']}" # 实际替换为邮件发送逻辑 final = client.chat.completions.create( model="qwen-max", messages=messages + [response.choices[0].message] + [ {"role": "tool", "tool_call_id": tool_call.id, "content": json.dumps(result)} ] ) print(final.choices[0].message.content)

五、Max与Plus选型对比

对比项Qwen3.7 MaxQwen3.7 Plus
模态纯文本文本+图像+视频
上下文100万Token100万Token
速度中等快3倍
输入价格2.4元/百万Token0.4元/百万Token
输出价格7.6元/百万Token1.6元/百万Token

选型结论:

  • 需处理图片/视频 → 选Plus
  • 纯文本高精度推理 → 选Max
  • 通用业务场景 → Plus性价比完胜

六、踩坑提醒


坑一:工具定义中 parameters 必须同时包含 type、properties、required 三个字段。

坑二:多工具并行时,用 tool_call.id 匹配结果,不要依赖返回顺序。

坑三:长对话场景建议定期做摘要压缩,否则Token消耗很快。

写在最后
AI大模型落地没有标准答案,关键是从自身场景出发。

“智能体来了” 团队专注大模型落地,不生产模型,而是做优质模型的“架构师”——复杂任务用旗舰模型,简单任务用小模型,实现成本与速度最优解。从Prompt工程到智能体工作流设计,他们的实战经验或许能帮你少走弯路。

FAQ


Q:有免费额度吗?

A:首次开通百炼可领取超7000万免费Tokens。

Q:API兼容OpenAI吗?

A:兼容,将base_url改为百炼地址即可。

Q:Max和Plus选哪个?

A:有图片需求选Plus,纯文本高精度选Max,一般业务选Plus。

http://www.jsqmd.com/news/1248046/

相关文章:

  • PCDN技术演进与短视频流畅播放的奥秘
  • 儿童口腔健康教育创新实践与科技应用
  • Windows Hello 模组成像科普:抗逆光与抗伪装底层技术原理
  • 【毕业设计】 基于 Django 的二手商品买卖交易系统校园闲置物品流转交易平台设计(源码+文档+远程调试,全bao定制等)
  • 张宗杰与他的合众昌商会:坚守抱团共赢初心,打造数字化时代的创业大家庭
  • AI写作工具对比:千笔与灵感AI的学术应用指南
  • 答辩PPT美化禁忌❌90%同学都在乱改!学术PPT高分美化技巧
  • 企业级分布式中间件‘龙虾‘本地部署指南
  • AI Agent技术架构解析:从LLM到多智能体协作
  • AI写实人像生成技术:挑战与解决方案
  • 2026年四川食品真空袋批发选择指南:为您的生意匹配供应商 - 装修教育财税推荐2026
  • 大模型全链路开发实战:从训练到部署的工程指南
  • 开会录音怎么快速整理?科会通与主流工具功能解析
  • AI人才争夺战下程序员转型指南
  • Grok CLI更新解析:AI编程助手如何重塑开发者工作流
  • AI内容生产全流程质量保障体系构建与实践
  • 大模型微调与RAG技术在Agent中的融合应用:提升业务结果质量的关键路
  • TV应用多线路负载均衡与内容聚合技术解析
  • Dify平台:零代码AI工作流自动化开发实践
  • 050、从Vector到LLVM的SIMD指令生成
  • MSPM0 UART寄存器深度解析:从伪静态配置到中断管理实战
  • 提示工程核心技巧:如何设计高效AI对话提示词
  • 官网发布 2026广州欧米茄售后细则,保养收费表、维修周期、正规网点清单全公开 - 欧米茄售后服务官网
  • 机房温湿度传感器选型与运维实战指南
  • 不止于共享网络:给你的树莓派OpenWrt软路由加上自动认证与网络优化
  • BQ41Z90数据闪存配置详解:从三层安全防御到JEITA充电算法实践
  • 【AI4S】生化环材高可信技术与产业周报(2026-07-15—2026-07-21)
  • 毕业论文调查问卷不会做?✅AI一键生成规范问卷,适配所有专业论文
  • 从真实案例看OPC创业可行性:四个故事和四条铁律
  • AI 电动角磨机智能无刷电机 MOSFET 核心选型方案