Agents 课程文档
smolagents 简介
并获得增强的文档体验
开始使用
smolagents 简介

欢迎来到本模块,您将学习如何使用 smolagents
库构建有效的 agents。smolagents 库为创建强大的 AI agents 提供了一个轻量级框架。
smolagents
是一个 Hugging Face 库;因此,如果您能为 smolagents repository
点赞,我们将不胜感激。

模块概述
本模块全面概述了使用 smolagents
构建智能 agents 的关键概念和实用策略。
鉴于有如此多的开源框架可用,理解使 smolagents
成为有用选项的组件和功能,或者确定何时其他解决方案可能更合适,至关重要。
我们将探讨关键的 agent 类型,包括为软件开发任务设计的代码 agents、用于创建模块化、函数驱动的工作流程的工具调用 agents,以及访问和综合信息的检索 agents。
此外,我们还将介绍多 agents 的编排以及视觉功能和网络浏览的集成,这些为动态和上下文感知的应用程序解锁了新的可能性。
在本单元中,来自单元 1 的 agent Alfred 再次回归。这一次,他使用 smolagents
框架进行内部工作。我们将一起探索这个框架背后的关键概念,Alfred 将处理各种任务。Alfred 正在韦恩庄园组织一个派对,而韦恩一家 🦇 外出了,他有很多事情要做。加入我们,一起展示他的旅程以及他如何使用 smolagents
处理这些任务!
在本单元中,您将学习使用 smolagents
库构建 AI agents。您的 agents 将能够搜索数据、执行代码以及与网页交互。您还将学习如何组合多个 agents 以创建更强大的系统。
目录
在本单元关于 smolagents
的学习中,我们将涵盖:
1️⃣ 为什么要使用 smolagents
smolagents
是众多可用于应用程序开发的开源 agent 框架之一。其他选择包括 LlamaIndex
和 LangGraph
,这些框架也在本课程的其他模块中介绍。smolagents
提供了几个关键功能,这些功能可能使其非常适合特定的用例,但在选择框架时,我们应始终考虑所有选项。我们将探讨使用 smolagents
的优点和缺点,帮助您根据项目的需求做出明智的决定。
2️⃣ CodeAgents
CodeAgents
是 smolagents
中的主要 agent 类型。这些 agents 不生成 JSON 或文本,而是生成 Python 代码来执行操作。本模块将探讨其用途、功能以及工作原理,并提供实践示例来展示其功能。
3️⃣ ToolCallingAgents
ToolCallingAgents
是 smolagents
支持的第二种 agent 类型。与生成 Python 代码的 CodeAgents
不同,这些 agents 依赖于系统必须解析和解释才能执行操作的 JSON/文本 blobs。本模块涵盖了它们的功能、与 CodeAgents
的主要区别,并提供了一个示例来说明它们的用法。
4️⃣ 工具
正如我们在单元 1 中看到的,工具是 LLM 可以在 agent 系统中使用的函数,它们充当 agent 行为的基本构建块。本模块涵盖了如何创建工具、工具的结构以及使用 Tool
类或 @tool
装饰器的不同实现方法。您还将了解默认工具箱、如何与社区共享工具以及如何加载社区贡献的工具以在您的 agents 中使用。
5️⃣ 检索 Agents
检索 agents 允许模型访问知识库,从而可以从多个来源搜索、综合和检索信息。它们利用向量存储进行高效检索,并实现检索增强生成 (RAG) 模式。这些 agents 特别适用于将网络搜索与自定义知识库集成,同时通过记忆系统维护对话上下文。本模块探讨了实现策略,包括用于稳健信息检索的后备机制。
6️⃣ 多 Agent 系统
有效地编排多个 agents 对于构建强大的多 agent 系统至关重要。通过结合具有不同功能的 agents——例如,将网络搜索 agent 与代码执行 agent 结合——您可以创建更复杂的解决方案。本模块侧重于设计、实现和管理多 agent 系统,以最大限度地提高效率和可靠性。
7️⃣ 视觉和浏览器 agents
视觉 agents 通过结合视觉语言模型 (VLM) 扩展了传统 agent 的功能,使其能够处理和解释视觉信息。本模块探讨了如何设计和集成 VLM 驱动的 agents,从而解锁诸如基于图像的推理、视觉数据分析和多模态交互等高级功能。我们还将使用视觉 agents 构建一个可以浏览网络并从中提取信息的浏览器 agent。
资源
- smolagents 文档 - smolagents 库的官方文档
- 构建有效的 Agents - 关于 agent 架构的研究论文
- Agent 指南 - 构建可靠 agents 的最佳实践
- LangGraph Agents - agent 实现的其他示例
- 函数调用指南 - 理解 LLM 中的函数调用
- RAG 最佳实践 - 实施有效 RAG 的指南