工具 最简单的开始是为我们的数学代理定义工具。 让我们给它 "添加”,"乘法” 和 "平方” 工具,以便它可以对我们传递给它的问题执行这些操作。通过使我们的工具保持简单,我们可以专注于核心概念,并自己构建工具,而不是依赖现有的和更复杂的工具,如维基儿科,它充当Wikipedia API的包装器,并要求我们从LangChain库导入它。
什么是 Toolkits呢? Toolkits 是为特定任务设计的工具集合。它们提供了一种便捷的方式来加载和使用一组相关的工具,这些工具通常用于完成特定的任务或在特定领域中工作。
Toolkits 的主要特点 便捷性:Toolkits 提供了简单的加载方法,使得获取一组相关工具变得非常容易。 一致性:所有的 Toolkits 都暴露了一个 get_tools 方法,返回工具列表。 专业性:每个 Toolkit 都针对特定的任务或领域进行了优化。 可扩展性:开发者可以轻松地创建自定义的 Toolkits。 如何使用 Toolkits 使用 Toolkits 的基本步骤如下:
初始化一个 Toolkit
获取工具列表
创建代理(Agent)
工具包 工具包toolkits听起来很花哨,但实际上非常简单。他们是从字面上看只是一份工具清单。我们可以将我们的工具包定义为一系列工具,比如 toolkit = [加、乘、平方] 就这样。非常简单,没有什么可混淆的。 通常,工具包是一组有用的工具,对于尝试执行某些类型的任务的代理将很有帮助。例如,SQLToolkit可能包含用于生成SQL查询、验证SQL查询和执行SQL查询的工具。
常见的 Toolkits LangChain 提供了多种预定义的 Toolkits,包括但不限于:
SQLDatabaseToolkit:用于 SQL 数据库操作
VectorStoreToolkit:用于向量存储操作
ZapierToolkit:用于 Zapier 集成
JsonToolkit:用于 JSON 数据处理
OpenAPIToolkit:用于 OpenAPI 规范的操作 自定义 Toolkits
除了使用预定义的 Toolkits,你还可以创建自定义的 Toolkits。这通常涉及以下步骤:
定义一个新的类,继承自 BaseToolkit 实现 get_tools 方法,返回工具列表 (可选)实现其他辅助方法
当询问它有工具可以回答的直接问题时,它在使用正确的工具进行工作并返回正确的答案方面非常一致。所以,在这个意义上相当可靠。