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

欢迎来到本模块,你将在这里学习 如何使用 smolagents
库构建有效的 Agent,该库提供了一个用于创建强大 AI Agent 的轻量级框架。
smolagents
是 Hugging Face 的一个库;因此,我们希望你能通过 给 smolagents 代码仓库
点星 来支持我们

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