大家好,我是贝克街的捉虫师呀!
最近在尝试构建一个智能客服系统,需要用到大模型的推理、工具调用和知识库检索等能力,但从零开始搭建实在过于繁琐,各种组件的集成和调试让人头大。 正在我苦苦寻找一个高效的解决方案时,发现了 Qwen-Agent 这个在 GitHub 上备受关注的开源项目. 它就像一个大模型应用的百宝箱,集成了各种常用工具和组件,让我们可以快速构建各种智能应用。
项目概述
Qwen-Agent 是一个基于 Qwen 大模型家族的 LLM 应用开发框架. 它可以充分利用 Qwen 模型的指令跟随、工具使用、规划和记忆等能力,帮助开发者快速构建各种 LLM 应用. 就像一个智能助手的工具箱,Qwen-Agent 提供了各种开箱即用的工具和组件,例如浏览器助手、代码解释器和自定义助手等.
该项目使用 Python 语言开发,具有良好的开源性和可扩展性. 开发者可以基于 Qwen-Agent 提供的各种组件,轻松构建自己的 Agent 应用.
项目数据
- GitHub 星标数量: 7372 (累计)
- 今日 Star: 188
- 主要开发语言: Python
- 作者: QwenLM
- 最近更新: May 1, 2025
功能亮点
-
🔎 工具调用
Qwen-Agent 提供了强大的工具调用能力,可以轻松地将各种外部工具集成到 LLM 应用中. 这使得 LLM 应用可以完成各种复杂的任务,例如查询天气、搜索信息、控制硬件等.
-
🧠 记忆能力
Qwen-Agent 具有记忆能力,可以记住之前的对话内容和状态,从而实现更自然的交互体验. 这对于构建聊天机器人、智能客服等应用非常重要.
-
🛠️代码解释器
Qwen-Agent 内置了代码解释器,可以直接运行 Python 代码. 这使得 LLM 应用可以完成各种数据分析、科学计算等任务. 但需要注意的是,官方提示代码解释器未沙箱化,存在安全风险.
-
📄 RAG 支持
Qwen-Agent 支持 RAG(Retrieval-Augmented Generation)技术,可以从外部知识库中检索相关信息,然后结合 LLM 的生成能力,生成更准确、更丰富的答案. 这对于构建问答系统、知识库助手等应用非常有用.
-
🌐 浏览器助手
Qwen-Agent 包含浏览器助手示例应用,可以模拟用户在浏览器中的操作,例如访问网页、填写表单、点击按钮等. 这对于构建自动化测试、数据采集等应用非常方便.
-
✨ 自定义 Agent
Qwen-Agent 提供了灵活的 Agent 开发框架,开发者可以根据自己的需求,自定义 Agent 的行为和能力. 这使得 Qwen-Agent 可以应用于各种不同的场景.
安装与使用
-
环境要求
- Python 3.10 或更高版本 (GUI支持)
-
安装步骤
你可以选择从 PyPI 安装稳定版本,或者从源码安装最新的开发版本:
- 从 PyPI 安装
pip install -U "qwen-agent[gui,rag,code_interpreter,mcp]" # Or use `pip install -U qwen-agent` for the minimal requirements. # The optional requirements, specified in double brackets, are: # [gui] for Gradio-based GUI support; # [rag] for RAG support; # [code_interpreter] for Code Interpreter support; # [mcp] for MCP support.
- 从源码安装
git clone https://github.com/QwenLM/Qwen-Agent.git cd Qwen-Agent pip install -e ."[gui,rag,code_interpreter,mcp]" # Or `pip install -e ./` for minimal requirements.
- 从 PyPI 安装
-
配置模型服务
Qwen-Agent 支持使用阿里云 DashScope 提供的模型服务,也支持使用开源 Qwen 模型部署自己的模型服务.
-
使用 DashScope 模型服务
确保设置环境变量
DASHSCOPE_API_KEY
为你的 DashScope API Key. -
使用自部署模型服务
参考 Qwen2 的 README 文档,部署 OpenAI 兼容的 API 服务. 推荐使用 vLLM 或 Ollama.
-
-
快速上手
参考官方提供的示例代码,可以快速创建一个具有 PDF 阅读和工具使用能力的 Agent. 官方还提供了 Gradio GUI 界面,方便快速部署 Agent Demo.
-
常见问题
-
如何使用 MCP?
Qwen-Agent 支持 MCP(Model Context Protocol),可以通过 MCP Server 获取各种外部信息. 具体使用方法可以参考官方文档和示例代码.
-
是否支持函数调用 (aka tool calling)?
是的,Qwen-Agent 的 LLM 类提供了函数调用功能. 此外,一些 Agent 类也基于函数调用能力构建,例如 FnCallAgent 和 ReActChat.
-
如何处理超长文档的问答?
Qwen-Agent 提供了快速 RAG 解决方案和强大的 Agent,用于处理超长文档的问答. 它们在两个具有挑战性的基准测试中优于原生长上下文模型,同时效率更高.
-
使用场景与推荐理由
-
智能客服
Qwen-Agent 可以用于构建智能客服系统,通过工具调用和知识库检索,为用户提供更准确、更高效的帮助.
-
自动化助手
Qwen-Agent 可以用于构建各种自动化助手,例如自动化测试、数据采集、流程自动化等.
-
RAG 应用
Qwen-Agent 强大的 RAG 支持,可以帮助开发者快速构建各种问答系统、知识库助手等应用.
推荐理由:
- 功能强大: 提供了丰富的工具和组件,可以满足各种 LLM 应用开发需求.
- 易于使用: 提供了清晰的文档和示例代码,方便开发者快速上手.
- 高度可扩展: 提供了灵活的 Agent 开发框架,方便开发者自定义 Agent 的行为和能力.
Qwen-Agent 相比于其他 LLM 开发框架,例如 LangChain,更加轻量级和灵活,更适合对 Qwen 大模型有深入了解的开发者.
结语
Qwen-Agent 是一个非常值得尝试的 LLM 应用开发框架. 它的功能强大、易于使用、高度可扩展,可以帮助开发者快速构建各种智能应用. 强烈推荐大家尝试使用 Qwen-Agent,相信它会给你带来惊喜!
GitHub 链接: https://github.com/QwenLM/Qwen-Agent
欢迎大家尝试 Qwen-Agent,并分享你的使用体验和反馈!
Search Sources: