Qwen-Agent智能体框架:阿里又一开源王炸!附详细教程

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普AI工具测评AI效率提升AI行业洞察。关注我,AI之路不迷路,2025我们继续出发。

AI Agent(智能体) 有多火?

火到OpenAI CEO Sam Altman,谷歌CEO Sundar Pichai,以及Anthropic官方纷纷为它站台,表示AI Agent是2025年的一项重要工作目标。

近日,阿里通义团队开源了一个AI Agent相关的王炸级产品——Qwen-Agent!这是一个专门用来开发AI Agent的应用框架,基于通义自家的Qwen模型,提供了一套完整的解决方案,旨在让Agent开发变得更加高效、便捷。

关于 Qwen-Agent

简单来说,Qwen-Agent是一个帮你快速搭建AI Agent的工具包。可以把它看作一个“脚手架”,将Agent需要的各种能力,比如:理解你说的话(指令遵循)、使用各种工具(工具调用)、自己做计划(规划)、记住你们聊了什么(记忆)等,都打包到了一起。基于Qwen-Agent框架,只需要像搭积木一样,把这些能力组合起来,就能创造出你想要的Agent。

如果Qwen模型是AI Agent的“大脑”,那Qwen-Agent就是它的“四肢和躯干”,赋予其行动能力,使其能够与现实世界进行互动。

Qwen-Agent 核心功能

  • 1. Agent工作流: Qwen-Agent能够赋予Agent类似人类的思维模式,使其在执行任务时先进行思考、制定计划,再逐步执行。例如,当用户指令为“预订一张明天前往北京的机票”,Agent会首先分析任务步骤(例如:查询航班、选择合适的航班、填写乘客信息、支付票款),然后按步骤完成,而非盲目执行。

  • 2. 工具调用能力: Qwen-Agent的一大亮点在于其强大的工具调用能力。这里的“工具”并不仅限于传统的API接口,它可以是任何可被调用的外部程序或服务,例如:

    • 调用搜索引擎检索信息

    • 利用代码解释器执行Python代码,进行数据分析

    • 连接数据库进行数据查询

    • 甚至控制智能家居设备

    借助这些工具,Agent的能力边界将进一步拓展。

  • 3. 内置代码解释器,执行代码: Qwen-Agent集成了代码解释器,支持直接运行Python代码。这使得Agent不仅限于文本交互,还能胜任代码编写、数值计算、数据分析等任务。(注意:通义官方特别指出,代码解释器目前未进行沙盒隔离,在实际应用中务必注意安全性,避免直接将其用于生产环境。)

  • 4. RAG检索技术: Qwen-Agent支持检索增强生成(RAG)技术。通过接入外部知识库(如企业内部文档、产品手册等),Agent能够结合知识库内容生成更准确、更详实的答案,避免“一本正经地胡说八道”。值得一提的是,Qwen-Agent中的RAG方案是进行了特别优化的,在处理长文档问答时性能表现优秀,甚至好于一些原生支持长上下文的模型。

  • 5. 上下文记忆能力: Qwen-Agent能够赋予AI Agent上下文记忆能力,使其能够记住对话历史,从而实现流畅的、符合语境的多轮对话,避免“金鱼式”对话。

  • 6. Web交互界面: Qwen-Agent支持一键部署Gradio Web界面,为用户提供直观友好的交互环境,方便进行Agent的测试与调试。

Qwen-Agent 快速上手

先附上Qwen-Agent的官方项目地址。

Qwen-Agent官方项目地址:https://pypi.org/project/qwen-agent

Qwen-Agent GitHub 仓库:https://github.com/QwenLM/Qwen-Agent

Qwen-Agent作为一个应用框架,操作简单,很容易上手。

1. 安装:

通过pip命令即可安装Qwen-Agent:(根据需要选择依赖,例如guiragcode_interpreter等)

pip install -U "qwen-agent[gui,rag,code_interpreter,python_executor]"

或者从源码进行安装:

git clone https://github.com/QwenLM/Qwen-Agent.git
cd Qwen-Agent
pip install -e ./"[gui,rag,code_interpreter,python_executor]"

2. 配置:

你可以选择直接用阿里云的DashScope模型服务,也可以自己部署开源模型。

  • DashScope 用户: 只需要设置一下DASHSCOPE_API_KEY环境变量就行。

  • 自己部署: 参考Qwen2的README文档,用vLLM或者Ollama部署一个OpenAI兼容的API服务即可。

3. 示例演示:

以下代码示例将创建一个AI绘图的Agent。(基于官方示例精简)

import pprint
import urllib.parse
import json5
from qwen_agent.agents import Assistant
from qwen_agent.tools.base import BaseTool, register_tool

# 定义一个画图工具
@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)

# 配置 LLM (这里用 DashScope 举例)
llm_cfg = {
    'model': 'qwen-max',
    'model_server': 'dashscope',
    # 'api_key': '你的 DASHSCOPE_API_KEY',  # 或者设置 DASHSCOPE_API_KEY 环境变量
}

# 创建一个 Agent
bot = Assistant(llm=llm_cfg, function_list=['my_image_gen'])

# 运行 Agent
messages = []
while True:
    query = input('你:')
    messages.append({'role': 'user', 'content': query})
    response = []
    for response in bot.run(messages=messages):
        print('Agent:')
        pprint.pprint(response, indent=2)
    messages.extend(response)

运行上面的代码,就可以跟你的Agent聊天了,比如输入“画一幅宁静的夏日海滩风景画”,它就会调用my_image_gen工具,给你返回一个图片的URL。

4. 更多玩法:

Qwen-Agent官方还提供了几个实用的案例:

  • Browser Assistant (浏览器助手): 可以让Agent浏览网页、搜索信息等等。

  • Code Interpreter (代码解释器): 前面介绍过的执行Python代码的工具。

  • Custom Assistant (自定义助手): 可以根据自己的需求,定制Agent。

结语

Qwen-Agent,阿里又一开源王炸。


精选推荐​​​​​​​


都读到这里了,点个赞鼓励一下吧,小手一赞,年薪百万!😊👍👍👍。关注我,AI之路不迷路,原创技术文章第一时间推送🤖。

### Qwen-Agent与Ollama集成概述 Qwen-Agent作为个基于Qwen模型的强大开发框架,提供了丰富的特性和灵活的应用场景[^1]。对于希望利用Qwen-Agent与ollama(假设为特定类型的硬件加速器或其他辅助计算资源)协同工作的开发者而言,理解两者如何有效结合至关重要。 #### 环境准备 为了使Qwen-Agent能够充分利用ollama的优势,在开始之前需确保已安装必要的依赖库以及配置好环境变量。这通常涉及设置Python虚拟环境,并通过pip安装来自官方GitHub仓库中的最新版本Qwen-Agent包: ```bash git clone https://github.com/QwenLM/Qwen-Agent.git cd Qwen-Agent pip install . ``` #### 初始化项目结构 创建个新的Python脚本来初始化Qwen-Agent实例时,可以指定参数来适配ollama特性。例如,如果ollama提供特殊的API接口用于优化大型语言模型推理速度,则可以在初始化过程中传递这些选项: ```python from qwen_agent import Agent agent = Agent( model="qwen", device="cuda" if use_ollama_acceleration else "cpu", api_key=your_api_key, additional_params={"use_ollama": True} # 假设这是针对ollama的个特殊标志位 ) ``` #### 实现自定义功能 考虑到Qwen-Agent支持LLM类的函数调用功能,这意味着可以根据ollama的具体能力和应用场景实现定制化的智能代理行为模式[^2]。比如,当处理复杂查询请求时,可以让Qwen-Agent自动识别是否应该启用ollama来进行更高效的运算处理;或者是在某些情况下仅依靠本地资源完成任务。 #### 应用案例展示 下面是个简单的例子,展示了如何使用带有ollama增强特性的Qwen-Agent执行文本摘要生成任务: ```python def summarize_text(text, agent): response = agent.run(f"Summarize the following text:\n{text}") return response['result'] long_document = """ 这里是篇很长的文章... """ summary = summarize_text(long_document, agent) print(summary) ``` 在这个例子中,`summarize_text` 函数接收段较长的文字输入并通过Qwen-Agent发出指令以获取简洁明了的小结。而实际运行期间,内部逻辑会判断当前环境下是否有可用的ollama设备参与工作,从而决定采用哪种方式更好地满足性能需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值