Important
此功能在 Beta 版中。
本页介绍如何使用代理砖头:知识助手基于文档创建问答聊天机器人,并根据主题专家的自然语言反馈提高其质量。
Agent Bricks 提供了一种简单的方法来构建和优化特定于域的高质量 AI 代理系统,用于常见 AI 用例。
什么是 Agent Bricks:知识助手?
使用代理砖块:知识助手创建聊天机器人,你可以通过聊天机器人在文档中提出问题,并使用引文接收高质量的回复。 知识助手使用高级 AI,遵循检索扩充生成(RAG)方法,根据你提供的域专业知识提供准确可靠的答案。
Agent Bricks:知识助手非常适合支持以下用例:
- 根据产品文档回答用户问题。
- 回答与人力资源策略相关的员工问题。
- 根据支持知识库回答客户查询。
借助知识助手,你可以改进聊天代理的质量,并根据主题专家的自然语言反馈调整其行为。 为标记会话提供问题,并将其发送给专家,以便在评审应用中进行评审。 他们的响应提供标记的数据,有助于优化代理的性能。
Agent Bricks:知识助手创建一个端到端的 RAG 代理终结点,你可以在应用程序的下游使用它。 例如,下图显示了如何在 AI Playground 中通过聊天来与端点进行交互。 向代理询问与文档有关的问题,代理将以引用的方式回答。
Agent Bricks 使用 默认存储 来存储临时数据转换、模型检查点和支持每个代理的内部元数据。 在代理删除时,将从默认存储中删除与代理关联的所有数据。
Requirements
- 包含以下内容的工作区:
- 已启用 Mosaic AI Agent Bricks 预览版 (Beta)。 请参阅 管理 Azure Databricks 预览版。
- 已启用 MLflow(Beta)的生产监视。 这是跟踪工作所必需的。 请参阅 管理 Azure Databricks 预览版。
- 已启用无服务器计算。 请参阅 无服务器计算要求。
- 已启用 Unity Catalog。 请参阅为 Unity Catalog 启用工作区。
- 访问 马赛克 AI 模型服务。
- 通过
system.ai架构访问 Unity 目录中的基础模型。 - 通过非零预算访问无服务器预算策略。
- 其中一个受支持区域的工作区:
centralus、、eastus、eastus2、northcentralus、southcentralus、或westuswestus2。 -
databricks-gte-large-en嵌入模型终结点必须禁用 AI 防护栏和速率限制。 请参阅在为终结点提供服务的模型上配置 AI 网关。 - 必须准备好输入数据以供使用。 可以选择提供以下任一项:
- Unity Catalog 卷或卷目录中的文件。 支持的文件类型包括 txt、pdf、md、ppt/pptx 和 docx。
- 用作
databricks-gte-large-en其嵌入模型的矢量搜索索引。 请参阅创建矢量搜索索引。
创建知识助理代理
转到工作区左侧导航窗格中的代理。 在知识助手磁贴中,单击构建。
步骤 1:配置代理
在“ 配置 ”选项卡上,配置代理并提供用于回答问题的知识源。
在“ 名称” 字段中,输入代理的名称。
在 “说明” 字段中,描述你的代理能做什么。
在 “知识源 ”面板中,添加知识源。 可以选择提供 Unity 目录文件或矢量搜索索引。
UC 文件
对于 UC 文件,支持以下文件类型:txt、pdf、md、ppt/pptx 和 docx。 引入期间会自动跳过大于 50 MB 的文件,不会包含在知识库中。
- 在 “类型”下,选择 “UC 文件”。
- 在“源”字段中,选择包含文件的 Unity Catalog 卷或卷目录。
- 在“ 名称” 字段中,输入知识源的名称。
- 在 “描述内容”下,描述知识源包含的内容,以帮助代理了解何时使用此数据源。
矢量搜索索引
Note
仅当索引用作
databricks-gte-large-en其嵌入模型时,才支持矢量搜索索引。 创建矢量搜索索引时,请确保选择此嵌入模型。 有关详细信息,请参阅 创建矢量搜索索引。- 在 “类型”下,选择 “矢量搜索索引”。
- 在 “源 ”字段中,选择要提供代理的矢量搜索索引。
- 在 文档 URI 列中,选择包含指向信息所在位置的链接或引用的列。 代理将在引文中使用它。
- 在 “文本列” 字段中,指定包含希望代理检索的原始文本的列。
- 在“ 名称” 字段中,输入知识源的名称。
- 在 “描述内容”下,描述知识源包含的内容,以帮助代理了解何时使用此数据源。
(可选)如果要添加更多知识源,请单击“ 添加知识源”。 最多可以提供 10 个知识源。
(可选)在 “说明” 字段中,指定代理响应方式的准则。
单击“ 创建代理”。
创建代理并同步你提供的知识源最多可能需要几个小时。 右侧面板将更新,并包含指向已部署代理、实验和同步知识源的链接。
Important
如果更新或添加文件到知识源,您需要单击 同步以便代理处理更改。 同步以增量方式完成。 例如,如果将新文件添加到以前同步的 Unity 目录卷,同步将仅处理新添加的文件。
只有知识助手的创建者才能同步知识源。
步骤 2:测试代理
代理构建完成后,通过聊天对其进行测试。 代理应使用引文回答与其知识来源相关的问题。
在 “测试代理”下,开始与代理聊天。
(可选)还可以单击 “在 AI Playground 中打开”,在 AI Playground 中与之聊天。 如果启用了 AI 辅助功能,则可以启用 AI 法官 和 合成问题生成 来帮助评估代理。
为你的代理输入一个问题。
评估其响应:
- 单击“ 查看想法 ”以查看代理如何回答问题。
- 单击“ 查看源 ”以查看代理引用的文件。 此时会打开一个侧面板,其中包含供你查看的源列表。
- 单击“ 查看跟踪 ”以查看完整跟踪。 可以在 UI 中将 标签添加到追踪,以便在开发过程中跟踪质量评估。
如果对代理的性能感到满意,请继续使用代理 as-is。 默认情况下,Agent Bricks 终结点在处于非活动状态 3 天后缩放为零,因此只会对运行时间进行计费。
步骤 3:提高质量
代理砖块:知识助手可以根据自然语言反馈来调整代理的行为。 通过标记会话收集人工反馈,以提高代理的质量。 为代理收集标记数据可以提高其质量。 Agent Bricks将从新数据中重新训练和优化代理。 若要了解有关收集反馈的详细信息,请参阅 域专家反馈。
在“ 提高质量 ”选项卡中,添加问题并启动标记会话。 或者,也可以直接从 Unity 目录表 导入标记的数据 。
添加要包含在标记会话中的问题:
- 单击“ + 添加” 以添加问题。
- 在 “添加问题 模式”中,输入问题。
- 单击 添加。 问题应显示在 UI 中。
- 重复操作,直到添加你想要评估的所有问题。
- 若要删除问题,请单击“烤肉串”菜单,然后单击 “删除”。
添加问题后,请向专家发送问题以供评审,以帮助构建高质量的标记数据集。 在右侧,单击“ 开始标记会话”。
标记会话准备就绪后,UI 将更新,如下所示。
与专家共享评审应用以收集反馈。
若要了解有关审阅应用和标记会话的详细信息,请参阅通过标记现有跟踪并创建和管理标记会话来收集反馈和期望。
Note
为了让专家能够访问标记会话,您需要授予他们以下权限:
- 针对终结点的“可查询”权限
- 试验的“编辑”权限
- USE CATALOG、USE SCHEMA和SELECT 对架构的权限
若要自行标记数据,请单击“ 打开标记会话”。
这会在新选项卡中打开审核应用程序。作为审核者:
单击“ 开始审阅”。 对于每个问题,审阅者将看到问题和代理的响应。
在左侧,查看问题和答案。 可以单击“ 查看想法 ”以查看代理在思考问题的方式。
在右侧的 “期望”下,查看任何现有准则,并在你认为合适时添加更多指南。
- 若要添加准则,请单击“ + 添加输入”。
- 在显示的文本框中输入准则。
- 单击“ 保存”。
查看完一个问题后,单击右上角的“下一个未查看”>,转到下一个问题。
查看完所有问题后,只需退出评审应用即可。
审阅者完成标签会话后,返回到代理的 “提高质量” 选项卡。
单击“ 合并 ”,将专家的反馈合并到标记的数据集。 右侧的问题表将根据合并后的反馈进行更新。
在 AI Playground 中再次测试代理,以查看其性能的改进。 如果需要,请启动另一个标记会话以收集更多标记的数据。
(可选)导入和导出标记会话数据
直接从 Unity 目录表导入新问题和反馈:
单击“导入” 。
在 “源 ”字段中,选择包含已标记数据的 Unity 目录表。
该表必须具有以下架构:
-
eval_id:string -
request:string -
guidelines:array-
items:string
-
-
metadata:string -
tags:string
-
单击“导入” 。
新的问题和指南将合并到右侧标记的数据表中。
若要将标记会话中的反馈数据导出为 Unity 目录表,
- 单击“ 导出”。
- 在 “架构 ”字段中,选择要将数据保存到的 Unity 目录架构位置。
- 在 “表名 ”字段中,输入表的名称。
- 单击“导出”。
使用标记会话中的反馈数据创建新表。
管理权限
默认情况下,只有 Agent Bricks 作者和工作区管理员有权访问代理。 若要允许其他用户编辑或查询代理,需要显式授予他们权限。
若要管理代理的权限,请执行以下步骤:
- 在“Agent Bricks”中打开代理。
- 在顶部,单击
烤肉串菜单。
- 单击“ 管理权限”。
- 在 “权限设置” 窗口中,选择用户、组或服务主体。
- 选择要授予的权限:
- 可以管理:允许管理代理砖块,包括设置权限、编辑代理配置以及提高其质量。
- 可以查询:允许通过 API 查询 AI Playground 中的代理砖头终结点。 仅具有此权限的用户无法在 Agent Bricks 中查看或编辑代理。
- 单击 添加。
- 单击“ 保存”。
Note
对于在 2025 年 9 月 16 日之前创建的代理终结点,可以从“服务终结点”页向终结点授予 Can Query 权限。
Important
只有知识助手的创建者才能同步知识源。
查询代理端点
可通过多种方式查询创建的知识助理终结点。 使用 AI Playground 中提供的代码示例作为起点。
- 在配置选项卡上,单击在沙盒中打开。
- 在 Playground 中,单击“ 获取代码”。
- 选择如何使用终结点:
- 选择 “对数据应用” 以创建将代理应用到特定表列的 SQL 查询。
- 选择 Curl API 作为代码示例,以使用 curl 查询终结点。
- 选择 Python API 作为代码示例,以使用 Python 与终结点交互。
评估知识助手
此笔记本展示如何使用精心挑选的评估数据集和定制评分器来评估 Databricks 知识助手。
Notebook
Limitations
-
.doc文件不受支持。 - 引入期间会自动跳过大于 50 MB 的文件,并且不包括在知识库中。
- 不支持启用了 增强安全性和符合性的 工作区。
- 不支持 Unity Catalog 表。
- 仅支持用作
databricks-gte-large-en嵌入模型的矢量搜索索引。 - AI 防护栏和速率限制必须在
databricks-gte-large-en模型终结点上禁用。 请参阅在为终结点提供服务的模型上配置 AI 网关。 - 若要使跟踪正常工作,必须为 MLflow(Beta)启用生产监视。 请参阅 管理 Azure Databricks 预览版。