介绍了Qwen-Agent的部署流程,包括使用conda管理Python环境、安装依赖,提供DashScope云服务与本地部署两种模型方案,并演示了RAG文档问答、工具调用、多Agent路由及自定义工具开发等关键功能,适合无AI开发经验者从零开始搭建智能体。
想要搭建AI智能体,却总觉得门槛太高?其实,Qwen-Agent的部署远比想象中简单——即使你没有任何AI开发经验,只要按照清晰指引逐步操作,从环境准备到智能体正式运行,完全能够实现从零到一的突破。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
本文用最直白的方式拆解整套流程,涵盖环境准备、模型部署、智能体创建、工具调用以及多Agent协作等关键环节,帮助真正实现“0基础上手Qwen-Agent”。
动手前先整理好基础环境。推荐使用conda管理Python环境,可有效避免版本冲突问题。
# 创建并激活conda环境
conda create --name qwen-agent python=3.12
conda activate qwen-agent
# 克隆Qwen-Agent仓库
git clone https://github.com/QwenLM/Qwen-Agent.git
cd Qwen-Agent
# 安装核心依赖包
pip install -e ./"[rag,code_interpreter,python_executor]"
硬件与系统需满足以下硬性条件:
模型部署是核心步骤。Qwen-Agent提供两种方案,可根据自身情况选择。
若不想折腾本地GPU资源,云服务是最省心的方式,配置也非常简洁:
# 文本模型配置
llm_cfg = {
'model': 'qwen-plus-2025-01-25',
'model_type': 'qwen_dashscope',
'api_key': '你的API密钥', # 在阿里云平台申请
'generate_cfg': {
'top_p': 0.8
}
}
若拥有充足GPU算力,或希望体验自建模型服务,本地部署更合适,配置内容稍多:
# 本地文本模型配置
llm_cfg = {
'model': 'Qwen/Qwen2.5-14B-Instruct',
'model_server': 'http://127.0.0.1:9995/v1',
'api_key': 'EMPTY',
'generate_cfg': {
'top_p': 0.9
}
}
# 多模态模型配置
llm_cfg_vl = {
'model': 'Qwen/Qwen2-VL-7B-Instruct',
'model_server': 'http://127.0.0.1:9993/v1',
'api_key': 'EMPTY',
'generate_cfg': {
'top_p': 0.9
}
}
接下来创建能处理文档问答的智能体,这是最直观、易上手的应用场景之一。
from qwen_agent.agents import Assistant
# 配置LLM模型
llm_cfg = {
'model': 'Qwen/Qwen2.5-14B-Instruct',
'model_server': 'http://127.0.0.1:9995/v1',
'api_key': 'EMPTY',
'generate_cfg': {
'top_p': 0.9
}
}
def test():
# 初始化助手
bot = Assistant(llm=llm_cfg)
# 构建消息:用户查询+文档文件
messages = [{
'role': 'user',
'content': [{
'text': '介绍图一'
}, {
'file': '/path/to/your/document.pdf' # 替换为你的文档路径
}]
}]
# 运行智能体并获取响应
for rsp in bot.run(messages):
print(rsp)
if __name__ == '__main__':
test()
这段代码展示了Qwen-Agent的核心能力之一:读取PDF文档内容,回答用户关于文档的问题,非常适合初次尝试的入门实验。
Qwen-Agent的强大之处在于能调用各种外部工具。以下是一个天气预报助手的示例:
import os
from qwen_agent.agents import Assistant
# 设置高德地图API密钥(需自行申请)
os.environ['AMAP_TOKEN'] = '你的高德API密钥'
# 模型配置
llm_cfg = {
'model': 'Qwen/Qwen2.5-14B-Instruct',
'model_server': 'http://127.0.0.1:9995/v1',
'api_key': 'EMPTY',
'generate_cfg': {
'top_p': 0.9
}
}
# 定义系统指令
system_instruction = (
'你扮演一个天气预报助手,你具有查询天气和画图能力。'
'你需要查询相应地区的天气,然后调用画图工具绘制一张城市的图。'
)
# 创建智能体
bot = Assistant(
llm=llm_cfg,
system_message=system_instruction,
function_list=['weather_query', 'image_gen'] # 天气查询和图像生成工具
)
这样,智能体不仅能聊天,还能查询真实天气数据并生成可视化结果,成为实用的工具。
当任务复杂(如同时处理图像和调用工具)时,单个智能体可能不够用,此时需要多Agent协作系统。
from qwen_agent.agents import Assistant, ReActChat, Router
# 文本模型配置
llm_cfg = {...}
# 多模态模型配置
llm_cfg_vl = {...}
def init_agent_service():
tools = ['image_gen', 'code_interpreter']
# 创建多模态助手
bot_vl = Assistant(
llm=llm_cfg_vl,
name='多模态助手',
description='可以理解图像内容。',
function_list=tools
)
# 创建工具助手
bot_tool = ReActChat(
llm=llm_cfg,
name='工具助手',
description='可以使用画图工具和运行代码来解决问题',
function_list=tools,
)
# 创建路由器,管理多个智能体
bot = Router(
llm=llm_cfg,
agents=[bot_vl, bot_tool],
)
return bot
这种架构的思路清晰:系统自动判断任务更适合哪个智能体处理。图像理解类任务交给多模态助手,工具使用类任务路由到工具助手,各司其职,提升效率。
如果内置工具库不够用,可根据需求开发新工具。以下展示如何操作:
from qwen_agent.tools.base import BaseTool, register_tool
import json5
import urllib.parse
@register_tool('my_image_gen')
class MyImageGen(BaseTool):
description = 'AI绘画服务,输入文本描述,返回基于文本信息绘制的图像URL。'
parameters = [{
'name': 'prompt',
'type': 'string',
'description': '期望的图像内容的详细描述',
'required': True
}]
def call(self, params: str, **kwargs) -> str:
prompt = json5.loads(params)['prompt']
prompt = urllib.parse.quote(prompt)
return json5.dumps({
'image_url': f'https://image.pollinations.ai/prompt/{prompt}'
}, ensure_ascii=False)
核心逻辑简单:继承BaseTool类,实现call方法,通过@register_tool注册后,自定义工具即可被智能体调用。无论对接自有API还是外部服务,操作都非常灵活。
实际动手时可能遇到一些常见问题,以下列出几个典型情况:
成功运行第一个智能体后,还有很多值得深入探索的方向:
至此,相信你对从零搭建Qwen-Agent智能体已经有了完整认识。从环境配置到智能体运行,每一步都有章可循,并不如想象中遥远。
Qwen-Agent框架的价值在于,它为你准备了构建AI智能体的所有基础工具。无论是简单的问答机器人,还是复杂的多模态应用系统,它都能提供充分支持。关键在于,先动手尝试。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述