Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力

简介: Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

原文链接:https://mp.weixin.qq.com/s/Xz111tPIAANjKdyTaZe6VA


🚀 快速阅读

  1. 功能:支持指令遵循、工具使用、记忆能力、函数调用、代码解释器和多代理框架。
  2. 技术:基于大语言模型(LLM)、工具集成、智能代理架构和 RAG 算法。
  3. 应用:适用于客户服务、个人助理、教育学习、内容创作、技术支持和数据分析等场景。

正文(附运行示例)

Qwen-Agent 是什么

公众号: 蚝油菜花 - Qwen-Agent

Qwen-Agent 是基于通义千问模型(Qwen)的开源 Agent 开发框架,支持开发者利用 Qwen 模型的指令遵循、工具使用、规划和记忆能力构建智能代理应用。Qwen-Agent 支持函数调用、代码解释器和 RAG(检索增强生成)等功能,能够处理从 8K 到 100 万 tokens 的文档,超越传统长上下文模型。

Qwen-Agent 提供了大模型和工具的原子组件,以及智能体的高级抽象组件,使开发者能够快速开发和部署复杂的 AI 代理应用。无论是构建客户服务机器人、个人助理,还是进行内容创作和数据分析,Qwen-Agent 都能提供强大的支持。

Qwen-Agent 的主要功能

  • 指令遵循:Qwen-Agent 能理解和执行用户的指令。
  • 工具使用:支持智能体调用外部工具完成任务。
  • 记忆能力:Qwen-Agent 具备记忆上下文的能力,能在对话中保持状态。
  • 函数调用:支持智能体调用预定义的函数或 API。
  • 代码解释器:内置代码解释器,支持智能体执行和解释代码。
  • 多代理框架:支持构建和管理多个智能代理。

Qwen-Agent 的技术原理

  • 大语言模型(LLM):基于大型预训练语言模型,如 Qwen,处理复杂的语言任务。
  • 工具集成:集成各种工具,包括 API、脚本或外部程序,智能体。
  • 智能代理架构:用智能代理架构,智能体能继承自 Agent 类,实现具体的应用逻辑。
  • RAG 算法:用 RAG 算法处理长文档,将文档分割成小块,保留最相关的部分,提升上下文处理能力。

如何运行 Qwen-Agent

安装

pip install -U "qwen-agent[gui,rag,code_interpreter,python_executor]"
# 或者使用 `pip install -U qwen-agent` 安装最小依赖。

开发自定义 Agent

以下示例展示了如何创建一个能够读取 PDF 文件并使用工具的 Agent:

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

# 步骤 1(可选):添加自定义工具 `my_image_gen`
@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)

# 步骤 2:配置使用的 LLM
llm_cfg = {
   
    'model': 'qwen-max',
    'model_server': 'dashscope',
    'generate_cfg': {
   
        'top_p': 0.8
    }
}

# 步骤 3:创建 Agent
system_instruction = '''你是一个有用的助手。
在收到用户的请求后,你应该:
- 首先绘制图像并获取图像 URL,
- 然后运行代码 `request.get(image_url)` 下载图像,
- 最后从给定的文档中选择一个图像操作来处理图像。
请使用 `plt.show()` 显示图像。'''
tools = ['my_image_gen', 'code_interpreter']
files = ['./examples/resource/doc.pdf']
bot = Assistant(llm=llm_cfg,
                system_message=system_instruction,
                function_list=tools,
                files=files)

# 步骤 4:运行 Agent
messages = []
while True:
    query = input('用户查询: ')
    messages.append({
   'role': 'user', 'content': query})
    response = []
    for response in bot.run(messages=messages):
        print('助手响应:')
        pprint.pprint(response, indent=2)
    messages.extend(response)

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
17天前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
415 1
|
16天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
565 133
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
16天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
630 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
17天前
|
人工智能 自然语言处理 NoSQL
超越基础提示:用RAG为你的大模型注入“新鲜记忆”
超越基础提示:用RAG为你的大模型注入“新鲜记忆”
196 101
|
15天前
|
人工智能 API 开发者
揭秘大模型工具调用的核心:上下文工程+MCP
本文系统解析模型上下文协议(MCP)与大模型工具调用的关系,澄清“大模型需理解MCP”的常见误解。MCP实为开发者服务的标准化接口,简化工具集成,提升开发效率,而大模型仅需识别工具列表,无需感知MCP存在。助力高效构建AI智能体。
499 52
|
14天前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
169 41
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
238 13
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
|
16天前
|
存储 人工智能 数据可视化
从零构建能自我优化的AI Agent:Reflection和Reflexion机制对比详解与实现
AI能否从错误中学习?Reflection与Reflexion Agent通过生成-反思-改进循环,实现自我优化。前者侧重内容精炼,后者结合外部研究提升准确性,二者分别适用于创意优化与知识密集型任务。
225 9
从零构建能自我优化的AI Agent:Reflection和Reflexion机制对比详解与实现
|
21天前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
216 12

热门文章

最新文章