Qwen-Agent 本地部署:一块 8GB 显卡如何把会函数调用的 Agent 跑在自己机器上
【免费下载链接】Qwen-AgentAgent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen-Agent
Qwen-Agent 是一个开源的 AI Agent 框架,原生支持函数调用、代码解释器与 RAG。做本地化部署后,推理、文档解析、工具执行全部发生在自己的机器上:不依赖云端 API,数据不出域,模型可替换。先装基础包:pip install -U "qwen-agent[rag,code_interpreter]",然后按显存档位往下走。
先定档位:三条显存基线
| 档位 | 硬件基线 | 跑得动 | 跑不动 |
|---|---|---|---|
| 入门 | 4–8GB 显存,或 32GB 内存纯 CPU | 7B–8B 四比特量化、单 Agent 加简单函数调用 | 14B 以上、长文档 RAG |
| 进阶 | 12–24GB 显存 | 14B 全精度或 32B 量化、代码解释器、PDF 问答 | 72B、多用户并发 |
| 生产 | 多卡或服务器级 | 32B–72B、多 Agent、MCP 工具生态 | 无硬性上限,预算成本即可 |
判断标准只有一个:目标模型的函数调用能不能稳定触发——这是 Agent 框架的入口,模型不行,后面全白搭。
入门档(4–8GB):先跑通最小闭环
选什么模型
Qwen2.5-7B-Instruct 或 Qwen3-8B 的 4-bit 量化版,显存占用约 5–6GB。别贪更大:小模型函数调用模板解析失败率明显更高。
怎么起本地服务
Ollama 最省心的路线,两条命令:ollama pull qwen2.5:7b,然后ollama serve(默认 11434 端口,自带 OpenAI 兼容的/v1接口)。
怎么接进 Qwen-Agent
本地模型集成的关键只有一处:model_type填oai,指向任何 OpenAI 兼容服务即可。
from qwen_agent.agents import Assistant llm_cfg = { 'model': 'qwen2.5:7b', 'model_type': 'oai', # 任何 OpenAI 兼容本地服务 'model_server': 'http://localhost:11434/v1', 'api_key': 'EMPTY', } bot = Assistant(llm=llm_cfg, function_list=['code_interpreter']) print(list(bot.run(['用工具算一下 17*23,再用一句话总结结果'])))怎么跑通验证
看两点:返回里有 function_call 记录、且工具结果被引用进最终回答。若模型只给答案不触发工具,说明 7B 档位的函数调用本地实现不稳定,升档或换带原生工具调用的模型。
进阶档(12–24GB):代码解释器与文档问答
选什么模型
Qwen2.5-14B-Instruct 全精度,留足上下文给 RAG;预算宽裕上 32B int8,复杂任务成功率更高。
怎么起本地服务
用 vLLM 替掉 Ollama,吞吐和长上下文表现更好:vllm serve Qwen/Qwen2.5-14B-Instruct --port 8000,量化版加--quantization参数。
怎么接进 Qwen-Agent
接入配置与入门档完全同构,只改两处键:
| 配置键 | 入门档 | 进阶档 |
|---|---|---|
| model | qwen2.5:7b | Qwen2.5-14B-Instruct |
| model_server | localhost:11434/v1 | localhost:8000/v1 |
api_key仍填EMPTY,函数调用走 Qwen-Agent 内置的模板解析,不需要改 Agent 逻辑。
怎么跑通验证
让 Agent 调用代码解释器画一张图:代码在 Jupyter 沙箱里执行,产物落在本地磁盘,与宿主环境隔离,这是代码解释器安全运行的基本形态。能落出图片文件即通过。
生产档(多卡):并发、多 Agent 与 MCP
选什么模型
32B–72B 或 MoE 系列,按 QPS 和并发数倒推;MoE 推理激活参数少,同样的卡能多扛一倍并发。
怎么起本地服务
vLLM 或 SGLang 多卡张量并行。三个硬性要求:只监听内网地址、api_key走环境变量不落配置文件、推理服务与工具执行服务分开部署。
怎么接进 Qwen-Agent
model_server指向内网网关地址,其余键不变;多 Agent 场景里各 Agent 共享同一个 llm 配置字典即可,多模态应用(接视觉模型)也只是把 model 换成 VL 系列。
怎么跑通验证
固定一组函数调用回归 prompt 做冒烟测试,再压一小时负载,工具调用成功率和 P95 时延进目标区间才算交付。
能力拼装:按需加装,不装不要
| 能力 | 什么时候要 | 怎么开 | 备注 |
|---|---|---|---|
| 代码解释器 | 数据分析、出图出表 | function_list加'code_interpreter',装[code_interpreter]extras | Jupyter 沙箱执行,隔离宿主 |
| PDF 文档问答系统 | 长文档、手册问答 | 装[rag]extras,Assistant(files=[pdf 路径]) | 解析与检索均在本地,文档不出机器 |
| 自定义工具开发 | 接内部 API、业务系统 | 继承BaseTool,用register_tool('名称')注册 | 参数写清 schema,模型才会稳定调用 |
| MCP 工具生态 | 接现成工具服务 | 装[mcp]extras,经 mcp_manager 挂载 | 适合多 Agent 共享工具 |
验收与调优:现象 → 原因 → 一招解决
| 现象 | 可能原因 | 一招解决 |
|---|---|---|
| ❌ 连接超时 | 服务没起或端口不对 | curl一下/v1/models,通才是真通 |
| 不触发工具调用 | 模型太小或模板不匹配 | 换 7B+ 带原生函数调用的模型 |
| 工具参数 JSON 解析失败 | 小模型遵循度差 | 工具 description 里补一个参数示例 |
| 生成慢 | 上下文过长 | generate_cfg里收紧max_input_tokens |
| 显存 OOM | 批处理或上下文超预算 | vLLM 加--gpu-memory-utilization 0.9 |
| 代码解释器无输出 | Jupyter kernel 未就绪 | 查 code_interpreter 服务日志 |
上生产前:迁移检查清单
- ✅ 数据不出域:审计一遍依赖,确认没有调用任何外部 API 域名
- 模型可替换:
model和model_server两个键是唯一耦合点,换服务不动 Agent 代码 - 可随时回滚:旧云端 API 的配置留在环境变量里,一条命令切回
- 可观测:函数调用轨迹与 P95 时延进日志,工具失败率设告警
档位定得准,闭环跑得快——先把入门档的验证清单走完,再决定要不要加卡。
【免费下载链接】Qwen-AgentAgent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.项目地址: https://gitcode.com/GitHub_Trending/qw/Qwen-Agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考