生成摘要
企业级智能体如何从“会聊天”走向能查数据、调用工具并参与业务决策?文章以阿里云百炼与 Qwen-Agent 为例,详解 qwen3.7-plus 的选型与 Function Calling,串起 DashScope SDK、搜索、代码解释器和业务数据库工具的注册,再用订单销量查询演示结果生成与数据缺失时的搜索兜底,最后延伸至 Docker、ACK 或函数计算部署。这样一条自动化流,真正落地时还要解决什么问题?
— AI 生成,仅供参考
在企业级 AI 项目中,常见的需求是让智能体能够主动调用搜索、代码解释器等工具,并基于业务数据库做出数据驱动的决策。下面以阿里云百炼平台结合 Qwen‑Agent 框架为例,展示从模型选型、工具调用链路到业务流部署的完整实操路径。

1. 环境准备与模型选型
- 账号与空间:在阿里云控制台创建百炼工作空间(Workspace),记录 WorkspaceId。
- API Key:前往密钥管理页面生成 API Key,用于后续 SDK 与 HTTP 调用。
- 模型推荐:百炼提供的
qwen3.7-plus在能力与成本之间保持平衡,支持完整的工具调用(Function Calling)并提供 1 M 上下文窗口,适合大多数企业业务场景。若对推理能力要求更高,可在后期切换到qwen3.8-max。
2. 搭建 Qwen‑Agent 基础框架
在本地或 CI 环境中安装 DashScope Python SDK(百炼统一 API):
pip install dashscope
创建一个最小的 Agent 程序 agent.py,示例代码如下:
import dashscope
from dashscope import Generation
# 配置 API Key 与工作空间
dashscope.api_key = "YOUR_API_KEY"
BASE_URL = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions"
def call_model(messages):
resp = Generation.create(
model="qwen3.7-plus",
messages=messages,
base_url=BASE_URL.replace("{WorkspaceId}", "your_workspace_id")
)
return resp.output.choices[0].message["content"]
3. 定义工具调用链路
3.1 搜索引擎工具
def tool_search(query):
# 这里演示调用外部搜索 API,实际项目请替换为内部搜索服务
import requests
r = requests.get("https://search.example.com/api", params={"q": query})
return r.json()["top_result"]
3.2 代码解释器工具
def tool_code_interpreter(code_snippet):
# 调用百炼的代码解释模型(Qwen Code)实现代码分析
resp = dashscope.Code.generate(
model="qwen-code",
prompt=code_snippet,
max_tokens=512
)
return resp.output["choices"][0]["message"]["content"]
3.3 数据库访问工具
企业业务往往需要实时查询业务数据库。下面示例使用 Python 标准库 sqlite3,实际项目可替换为 MySQL、PostgreSQL 或阿里云 PolarDB 连接方式。
import sqlite3
def tool_db_query(sql):
conn = sqlite3.connect("enterprise.db")
cur = conn.cursor()
cur.execute(sql)
rows = cur.fetchall()
conn.close()
return rows
4. 将工具注册到 Qwen‑Agent
百炼的 Managed Agents API 支持在几分钟内完成 Agent 注册与工具绑定。核心步骤概述如下(不展示完整 HTTP 请求):
- 创建 Agent:POST
/v1/agents,传入name、model(使用qwen3.7-plus)以及description。 - 注册工具:对每个工具(search、code_interpreter、db_query)调用
/v1/agents/{agent_id}/tools,提供工具名称、输入参数 schema 与对应的后端实现函数(如上代码块)。 - 获取 APP_ID:创建完成后在百炼控制台的 “智能体应用” 页面获取
APP_ID,后续业务系统通过该 ID 调用 Agent。
5. 实战示例:基于订单数据的智能推荐
假设业务需要在用户询问 “本月销量最高的商品是什么?” 时,智能体能够:
- 检索业务数据库:调用
tool_db_query执行SELECT name, SUM(quantity) FROM orders WHERE month='2024-08' GROUP BY name ORDER BY SUM(quantity) DESC LIMIT 1; - 若查询失败或数据缺失,触发搜索工具补充公开行业报告。
- 根据查询结果生成自然语言回复,利用模型的文本生成能力完成最终输出。
完整调用流程示意代码:
def handle_user_query(user_input):
# 1. 判断意图,决定调用哪个工具(这里简化为直接调用 db_query)
sql = "SELECT name, SUM(quantity) FROM orders WHERE month='2024-08' GROUP BY name ORDER BY SUM(quantity) DESC LIMIT 1;"
db_result = tool_db_query(sql)
if db_result:
product, qty = db_result[0]
answer = f"本月销量最高的商品是 {product},共售出 {qty} 件。"
else:
# fallback to web search
search_res = tool_search(user_input)
answer = f"未能从内部数据库获取信息,参考公开资料:{search_res}"
return answer
在实际部署时,将 handle_user_query 包装为 HTTP 接口,供前端或业务系统调用。
6. 部署与运行
- 容器化:使用 Docker 将上述代码及依赖打包,示例 Dockerfile 只需基于
python:3.11-slim,复制agent.py并执行python agent.py。 - 托管:将容器推送至阿里云容器服务(ACK)或函数计算(FC),通过 智能体托管运行时 API(在 2024‑06‑29 的平台更新中已提供)实现无服务器化运行。
- 监控与日志:开启百炼的调用日志与错误告警,便于后期调优模型温度、工具超时等参数。
7. 常见问题与风险提示
- 模型费用:
qwen3.7-plus按量计费,建议在测试阶段开启 成本预警,防止意外高消耗。 - 工具安全:对外部搜索与代码解释器要做好输入校验,防止注入攻击或恶意代码执行。
- 数据合规:使用百炼知识库或 RAG 功能时,仅在中国站华北 2(北京)区域可用,需确保业务数据不跨境传输。
通过上述步骤,企业开发者可以在阿里云百炼上快速搭建具备工具调用与数据库交互能力的 AI 智能体,实现从原始查询到业务决策的全链路自动化。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



