type
status
date
slug
summary
tags
category
icon
password
Language
介绍
smolagents
是一个轻量级的 Python 库,旨在通过编写 Python 代码来调用工具并协调多个 Agent 的协作。它简化了多 Agent 系统的开发流程,使开发者能够快速构建智能任务处理系统。无论是自然语言处理、数据检索还是复杂任务调度,smolagents
都能提供灵活且高效的解决方案。smolagents的优势
- 简化复杂行为的实现:对于复杂行为,如工具调用和多步Agent,手动编写代码可能较为繁琐且难以管理。smolagents提供了一些基本的构建模块,帮助将LLM、工具列表、解析器、系统提示和内存等元素紧密耦合,构建出功能完善的Agent.
- 提供必要的组件:包括LLM作为系统引擎、可访问的工具列表、从LLM输出中提取工具调用的解析器、与解析器同步的系统提示以及用于存储记忆的内存等.
- 支持错误日志记录和重试机制:由于LLM可能会犯错,smolagents还提供了错误日志记录和重试机制,以提高系统的鲁棒性.
Code Agents
- 代码格式的优势:与JSON等格式相比,使用代码格式编写Agent的动作具有更好的可组合性、对象管理能力、通用性和在LLM训练数据中的代表性。代码是专门设计用来表达计算机执行的动作的,因此能够更自然、更有效地实现复杂的Agent行为.
- 相关研究支持:多篇研究论文表明,让LLM在代码中调用工具比在JSON等格式中调用工具效果更好,因为代码语言本身就是表达计算机动作的最佳方式.
使用指南
1. 创建虚拟环境
首先,我们需要创建一个独立的 Python 虚拟环境,以避免依赖冲突。推荐使用
conda
来管理环境。2. 激活虚拟环境
创建虚拟环境后,使用以下命令激活环境:
3. 安装 smolagents
在激活的虚拟环境中,安装
smolagents
及其依赖项。假设你已经有一个 requirements.txt
文件,可以通过以下命令安装:如果还没有
requirements.txt
文件,可以直接安装 smolagents
:运行示1. 创建 Demo 脚本
接下来,我们创建一个简单的 Python 脚本来演示
smolagents
的基本用法。创建一个名为 demo.py
的文件,内容如下:2. 设置 API 密钥例 Demo
在运行脚本之前,确保你已经设置了 OpenAI 的 API 密钥。可以通过以下命令设置环境变量:
将
sk-xxx
替换为你自己的 OpenAI API 密钥。3. 运行脚本
最后,运行
demo.py
脚本:4. 运行结果
过程分析
- 问题输入:脚本开始时,输入了一个问题,询问一只豹子以全速跑过长城需要多少秒。
- 正则表达式解析:尝试解析输入的代码块,但由于格式不符合预期的正则表达式模式,导致多次出现
ValueError
错误。
- 网络搜索:
- 长城长度查询:脚本执行了一次网络搜索,查找长城的长度,并从多个来源获取了相关信息。
- 猎豹速度查询:随后,脚本进行了另一次网络搜索,查找猎豹的全速速度,并获取了相关数据。
- 数据处理与计算:
- 使用获取到的长城长度和猎豹速度,计算猎豹以全速跑过长城所需的时间。
- 将计算结果从小时转换为秒。
- 结果输出:最终,脚本输出了计算出的时间结果,以秒为单位。
- 作者:何以问
- 链接:https://heyiwen.com/article/ai-2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。