本文概述了如何使用马赛克 AI 代理框架生成 AI 代理工具。
AI 代理工具使代理能够执行语言生成以外的任务,例如检索结构化或非结构化数据和执行自定义代码。
Unity 目录函数工具与代理代码工具
在 Agent Framework 中创建工具有两种主要方法:将该工具定义为 Unity 目录函数,或直接在代理的代码中定义该工具。
代理可以使用 Unity 目录函数工具或代理代码工具的任意组合。 这两种类型的工具都适用于使用原生 Python 编写的代理,或使用 LangGraph 和 OpenAI SDK 等生成式AI创作工具库。
Unity 目录函数工具 | 代理代码工具 |
---|---|
|
|
创建代理工具
若要了解如何创建代理工具,请参阅 使用 Unity 目录函数创建自定义 AI 代理工具。
常见的代理工具类型包括:
- 代码解释器工具:允许代理运行任意 Python 代码。
- 结构化数据检索工具:查询结构化数据源,如 SQL 表。
- 非结构化数据检索工具:查询非结构化数据源(如文档集合)以执行检索扩充生成。
- 外部连接工具:连接到外部服务和 API 以提取数据或执行任务。
向代理添加 Unity 目录工具
与直接在代理代码中定义的代理代码工具不同,必须将 Unity 目录工具显式添加到代理中,才能使其可用。
Databricks 建议使用 UCFunctionToolkit
Unity 目录工具与代理创作框架(如 LangChain、OpenAI 或其他 SDK)集成。 该工具包可确保不同框架的一致性,并自动执行有用的功能。 请参阅 使用 Unity 目录函数创建自定义 AI 代理工具。
可以使用 AI Playground 将 Unity 目录工具快速添加到代理,并在部署它们之前制作其行为的原型。 请参阅 AI Playground 中的原型工具调用代理。
管理 Unity Catalog 工具
使用 Databricks 函数客户端 管理 Unity 目录工具。 Databricks 函数客户端基于开源 Unity 目录函数客户端,但提供了 Databricks 特有的多项改进。
有关管理 Unity 目录函数的信息,请参阅 Unity 目录文档 - 函数客户端。
模型上下文协议:标准化对工具的访问
模型上下文协议(MCP)是一种开放标准,它为 AI 代理提供了连接到工具、数据和资源的通用方法。 MCP 充当代理和它们需要与之交互的外部系统之间的桥梁。
Databricks 提供以下 MCP 选项:
托管 MCP 服务器:Databricks 具有现成的服务器,可让代理查询 Unity 目录中的数据和访问工具。
自定义 MCP 服务器:安全地托管自己的 MCP 服务器或运行第三方 MCP 服务器。
请参阅 Databricks 上的模型上下文协议(MCP)。