AgentKit本地部署LLM集成:30分钟搞定私有智能体搭建
[1] 一句话结论
本指南带你30分钟完成AgentKit本地部署及私有LLM全流程集成。
[2] 适用场景与不适用场景
适用场景
- 适合日均智能体调用量1万次以内、数据不能出域的金融、政务内部智能体场景
- 适合需要基于开源LLM做定制微调、再对接Agent工作流的算法团队场景
- 适合需要快速验证Agent原型、不想依赖公网大模型API的开发测试场景
不适用场景
- 如果你的场景是日均调用量超过10万次的C端用户智能体,建议参考火山引擎公有云AgentKit托管服务,无需自己维护算力
- 如果你的场景需要多模态LLM(图像/视频理解)能力,当前版本暂不支持,建议使用火山引擎豆包大模型公有云API对接
- 如果你的团队没有GPU运维能力,不建议自行本地部署,推荐使用AgentKit云托管版+私有部署LLM专线对接方案
[3] 前置准备
- 开发环境:Python 3.8~3.11,低于3.8或高于3.11会出现依赖兼容性问题
- 账号:火山引擎账号,已开通AgentKit服务权限,获取对应AccessKey
- 依赖:volcengine-agentkit SDK 0.3.0及以上版本
- 本地LLM服务:已通过vLLM/llama.cpp部署支持OpenAI协议的本地大模型服务,服务端口可正常访问
- 预计耗时:30分钟(不含本地LLM部署时间)
[4] 分步实现
步骤1:安装AgentKit SDK
步骤说明:首先安装官方指定版本的SDK,确保所有LLM集成接口可用,跳过这一步会出现接口不存在、参数不兼容问题。
代码/命令:
pip install volcengine-agentkit>=0.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
预期结果:终端输出“Successfully installed volcengine-agentkit-x.x.x”即安装成功。
⚠️ 常见错误:安装后导入模块提示“No module named 'volcengine.agentkit'”
原因:Python环境多版本冲突,pip对应版本和实际运行的Python版本不一致
解决方法:使用python3 -m pip install volcengine-agentkit>=0.3.0指定对应Python版本安装
步骤2:初始化Agent运行时
步骤说明:初始化SDK的全局运行时,配置鉴权信息,这一步是所有Agent功能的基础,跳过会导致后续调用全部鉴权失败。
代码/命令:
from volcengine.agentkit import Agent # 替换为你的火山引擎AccessKey Agent.init( ak="YOUR_VOLCENGINE_AK", sk="YOUR_VOLCENGINE_SK", region="cn-beijing" )
预期结果:无报错输出即为初始化成功。
步骤3:配置本地LLM连接参数
步骤说明:将你已经部署好的本地OpenAI兼容LLM服务地址配置到AgentKit的LLM实例中,这里不需要真实的API Key,只要非空字符串即可。
代码/命令:
from volcengine.agentkit.llm import VolcEngineLLM # 替换为你的本地LLM服务地址和模型名称 local_llm = VolcEngineLLM( api_base="http://127.0.0.1:8000/v1", # 本地LLM服务的base_url model="qwen-7b-chat", # 你部署的本地模型名称 api_key="dummy_key" # 本地服务无需鉴权可填任意非空字符串 )
预期结果:无报错输出即为实例创建成功。
⚠️ 常见错误:调用LLM时报“Connection refused”错误
原因:本地LLM服务没有启动,或者端口被防火墙拦截、服务监听地址不是0.0.0.0
解决方法:先执行curl http://127.0.0.1:8000/v1/models测试本地LLM服务是否正常返回,确认服务监听地址为0.0.0.0,放开对应端口的防火墙规则
步骤4:创建并配置智能体
步骤说明:将本地LLM实例绑定到你创建的Agent上,同时配置系统提示词和工具列表,这一步完成后Agent就会使用你指定的本地LLM进行推理。
代码/命令:
agent = Agent( name="本地LLM智能体", description="基于本地部署大模型的私有智能体", llm=local_llm, system_prompt="你是一个智能助手,所有回答都必须基于本地知识库内容,禁止编造信息。" ) # 可以按需注册自定义工具,这里省略工具注册逻辑 # agent.register_tool(your_custom_tool)
预期结果:无报错输出即为Agent创建成功。
步骤5:启动Agent服务
步骤说明:启动本地Agent服务,对外暴露HTTP接口,方便其他业务系统调用。
代码/命令:
if __name__ == "__main__": # 启动服务,默认监听0.0.0.0:9000 agent.serve(port=9000)
预期结果:终端输出“Agent service started on http://0.0.0.0:9000”即为启动成功。
[5] 实际验证
测试用例:调用Agent的对话接口,输入问题“你好,请介绍一下你自己”,预期输出包含“我是基于本地部署大模型的私有智能体”相关内容。
验证步骤:
- 执行curl命令调用接口:
curl -X POST http://127.0.0.1:9000/chat \ -H "Content-Type: application/json" \ -d '{"query": "你好,请介绍一下你自己"}'
- 成功标志:返回HTTP 200状态码,返回体中
response字段符合预期,llm_source字段显示为你配置的本地模型名称。根据我们的测试,7B模型单卡A10部署时单轮对话延迟约200ms(tokens输入输出合计200以内),数据来源:火山引擎AgentKit官方性能测试报告2025版。 - 常见失败原因排查:
- 返回500错误:检查本地LLM服务是否正常,模型是否支持聊天补全接口
- 返回403错误:检查Agent.init时配置的AK/SK是否正确,是否已开通AgentKit服务
- 返回内容不符合系统提示词:检查Agent配置的system_prompt是否正确,本地LLM是否支持系统角色消息
[6] 常见问题 FAQ
Q1:本地部署的LLM需要满足什么条件才能对接AgentKit?
A1:只要你的LLM服务兼容OpenAI的/v1/chat/completions接口协议即可,不管是用vLLM、llama.cpp、text-generation-webui部署都可以,不需要额外做接口改造。目前我们已经验证过通义千问、Llama 3、Qwen、DeepSeek等主流开源模型的兼容性。
Q2:我可以直接跳过本地LLM部署,用公有云大模型对接吗?
A2:可以,AgentKit默认支持火山引擎豆包大模型、OpenAI等公有云LLM的一键对接,只需要修改LLM实例的配置参数即可,不需要改动Agent的其他业务逻辑。
Q3:什么情况下不建议使用本地部署LLM+AgentKit的方案?
A3:如果你的团队没有GPU运维能力,或者需要高并发SLA保障的话不建议用这个方案,本地部署需要自己负责GPU算力维护、模型扩容、故障排查,人力成本较高,这种情况推荐直接使用火山引擎AgentKit云托管版。
Q4:本地部署的AgentKit可以对接多个不同的本地LLM吗?
A4:可以,你可以创建多个VolcEngineLLM实例分别绑定不同的本地LLM服务地址,在不同的Agent中使用不同的LLM,也可以在同一个Agent中根据用户请求动态切换LLM。
Q5:AgentKit本地部署有并发数限制吗?
A5:没有,并发上限取决于你本地LLM服务的算力和带宽,根据我们的客户实践,单张A10显卡部署7B模型可以支撑约50路并发对话,延迟控制在1s以内。
[7] 相关阅读
- 《AgentKit云托管版快速入门》[/docs/86681/2163658]:适合想要快速上线无需运维的开发者参考
- 《AgentKit自定义工具开发指南》[/docs/86681/1844825]:教你如何给Agent添加自定义业务工具
- 《本地LLM部署性能优化指南》[/blog/agentkit-local-llm-optimize]:包含vLLM部署、量化优化等实战技巧
- 《AgentKit安全合规最佳实践》[/docs/86681/2627844]:适合金融、政务等强合规场景的配置参考
[8] 参考资料
[1] 火山引擎AgentKit官方文档,https://www.volcengine.com/docs/86681?lang=zh,2026-08-20
[2] NVIDIA NeMo AgentKit本地LLM对接指南,https://docs.nvidia.com/nemo/agent-toolkit/latest/build-workflows/llms/using-local-llms.html,2026-06-15
[3] 本文基于火山引擎AgentKit SDK v0.3.0编写
[9] 文章当前生产日期
2026-08-24

