学习目标:能够使用Qwen-Agent框架创建一个具备工具调用能力的智能体,并为其部署一个简单的Web交互界面。
前置知识
Qwen-Agent是一个Python框架,需要能理解基本的Python语法、包管理和面向对象概念。
用于克隆项目、查看示例代码和文档。
用于安装依赖、设置环境变量和运行Python脚本。
了解什么是提示词(Prompt)、函数调用(Function Call)等,有助于理解框架工作原理。
学习步骤
环境准备与基础认知
1-2小时创建Python虚拟环境
使用conda或venv创建一个新的Python环境(建议Python 3.10+),避免包冲突。
Gradio 5+需要Python 3.10或更高版本。
安装Qwen-Agent
在虚拟环境中,通过PyPI安装稳定版:`pip install qwen-agent`。或者克隆GitHub仓库,安装开发版。
新手建议直接从PyPI安装稳定版。
获取模型访问权限
决定使用DashScope API(阿里云服务)或本地部署开源模型。如果选择DashScope,需要申请API Key并设置环境变量`DASHSCOPE_API_KEY`。
对于新手,使用DashScope API是最快开始的方式,无需本地GPU。记得设置环境变量:`export DASHSCOPE_API_KEY='your-key'`(Linux/Mac)或 `set DASHSCOPE_API_KEY=your-key`(Windows)。
浏览项目结构
克隆或下载项目后,快速浏览`examples/`目录,了解官方提供的几个Demo(如Browser Assistant, Code Interpreter),对项目能做什么有个直观印象。
快速入门:创建第一个智能体
2-3小时运行最简单的示例
在`examples/`目录下找一个最简单的示例脚本(例如`basic_demo.py`或类似),尝试运行它,确保环境和API Key配置正确。
首次运行可能会下载一些模型或工具依赖,耐心等待。
理解核心组件:LLM与Tool
阅读README中“Developing Your Own Agent”部分的示例代码。重点关注:1. 如何初始化一个LLM对象(如`QwenChat`)。2. 如何定义一个简单的自定义工具(继承`BaseTool`)。3. 如何将工具列表传给Agent。
不必完全理解所有细节,先关注代码的整体流程:定义工具 -> 创建Agent -> 调用Agent.run()。
动手实践:创建一个问答智能体
模仿示例,编写一个简单的脚本。创建一个使用DashScope Qwen模型的Agent,并为其添加一个内置工具(如`code_interpreter`或`web_search`,如果可用),然后向它提一个问题,观察其调用工具和回复的过程。
核心功能探索与GUI部署
2-3小时为智能体添加Web界面
使用框架提供的Gradio集成功能。参考README中的GUI示例代码,为你上一步创建的智能体快速启动一个Gradio Web Demo。
通常只需要几行代码:`agent.run_gradio()`或类似方法。在浏览器中打开本地链接进行交互。
探索函数调用(工具调用)
仔细阅读FAQ中关于函数调用的部分。尝试创建一个需要多步工具调用的复杂任务(例如:“查询今天的天气,然后根据天气推荐一首歌”),观察Agent的规划和执行过程。
理解“Parallel Function Calls”意味着Agent可以同时调用多个工具。
了解代码解释器工具
阅读FAQ中“How to Use the Code Interpreter Tool?”部分。如果本地安装了Docker,尝试在Agent中启用`code_interpreter`工具,让它执行一些简单的Python计算或绘图任务。
⚠️ 注意:首次使用会下载Docker镜像,耗时取决于网络。生产环境需谨慎使用。
深入与扩展
2-4小时学习使用MCP(Model Context Protocol)
阅读README和FAQ中关于MCP的部分。按照指引,尝试配置一个简单的MCP服务器工具(如从公开MCP服务器列表中选择一个),并将其集成到你的Agent中。
MCP可以极大地扩展Agent能使用的工具范围,是框架的重要特性。
阅读官方文档和博客
访问项目首页提供的文档(Documentation)链接和博客(Blog)链接。重点关注“长文档问答”(1M tokens)解决方案和最新的技术动态(如Qwen3.5 Agent Demo)。
博客和文档包含了更深入的技术原理和最佳实践。
研究高级Agent类
不再只使用高级的`Assistant`类,尝试查看`FnCallAgent`或`ReActChat`等内置Agent的实现,理解它们如何继承自基础的`Agent`类,并尝试模仿创建自己的简单Agent子类。
推荐资源
项目首页提供的官方文档链接,包含更详细的API说明、配置指南和高级用法。
最直接的学习材料,包含了Browser Assistant, Code Interpreter, Custom Assistant等多个完整应用示例。
发布技术详解、性能基准(Benchmark)和重要更新(如长文本RAG方案)。
获取社区支持,交流使用问题,关注项目动态。
学习路径常见错误
未正确设置API Key环境变量
确保环境变量名是`DASHSCOPE_API_KEY`(注意下划线),并且已在当前终端会话中设置。可以通过`echo $DASHSCOPE_API_KEY`(Linux/Mac)或 `echo %DASHSCOPE_API_KEY%`(Windows)检查。
Python版本不兼容
确保使用Python 3.10或更高版本,特别是想要运行Gradio GUI时。使用`python --version`确认。
直接运行复杂示例失败
不要一开始就运行最复杂的Demo(如BrowserQwen)。从最简单的脚本开始,确保基础环境无误后,再逐步添加功能。仔细阅读示例代码的注释和依赖要求。
忽略工具调用的输出格式
自定义工具时,必须确保`call`方法返回的格式符合框架要求(通常是包含特定键的字典)。仔细阅读`BaseTool`的文档或参考内置工具的实现。
在未安装Docker的情况下尝试使用代码解释器
使用`code_interpreter`工具前,务必先安装并启动Docker服务。可以命令行运行`docker --version`测试。
学习路径下一步步骤
1. 实战项目:尝试用Qwen-Agent复现一个你感兴趣的小应用,如个人知识库助手、自动化数据报告生成器。 2. 集成外部工具:深入学习MCP,将更多外部API(如数据库、Jira、Slack)集成到Agent中。 3. 研究底层:阅读框架核心模块(如`agent.py`, `tools/`, `llm/`)的源码,理解其设计哲学和工作流程。 4. 性能优化:学习如何为本地部署的模型(使用vLLM/Ollama)配置参数,优化推理速度和吞吐量。 5. 探索生态:研究基于Qwen-Agent构建的成熟应用,如BrowserQwen,了解其架构和实现。
相关项目推荐
public-apis/public-apis
免费API资源汇总列表
EbookFoundation/free-programming-books
📚 免费提供的编程书籍
donnemartin/system-design-primer
学习如何设计大规模系统。为系统设计面试做准备。包含Anki记忆卡片。
vinta/awesome-python
精心整理的优质Python框架、库、软件及资源列表
TheAlgorithms/Python
所有算法均使用Python实现
Significant-Gravitas/AutoGPT
AutoGPT致力于实现人人可用的普惠AI,让每个人都能使用和构建AI。我们的使命是提供工具,让您专注于重要事务。