数据存储区

数据存储区可供数据存储区工具 从您的数据中查找最终用户问题的解答。数据存储区是一组网站、文档或第三方系统中的数据,每个网站、文档或数据都将作为您的数据来源。

当最终用户向代理提出问题时,代理会从给定的源内容中搜索答案,并将结果汇总为连贯的代理回答。它还提供指向回答来源的支持链接,供最终用户了解详情。对于给定的问题,代理最多可以提供五个答案片段。

数据存储区来源

您可以使用不同的数据来源:

访问受限的数据存储区来源

Google 提供了许多其他第一方和第三方数据存储区来源,作为一项访问受限的功能。如需查看可用的来源并申请访问权限,请参阅 其他数据存储区来源

网站内容

添加网站内容作为来源时,您可以添加和排除多个网站。 指定网站时,您可以使用单个网页或 * 作为模式的通配符。系统将处理所有 HTML 和 PDF 内容。

使用网站内容作为来源时,您必须验证网域

限制:

  • 来自公共网址的文件必须已被 Google 搜索索引器抓取,才能存在于搜索索引中。您可以使用 Google Search Console检查是否满足此项要求。
  • 系统最多会为 20 万个网页编制索引。如果数据存储区包含的网页数量超过此上限,系统会在达到上限时停止编制索引,但会保留已编制索引的所有内容。

导入数据

您可以从 BigQuery 或 Cloud Storage。 这些数据可以是常见问题解答形式,也可以是非结构化数据,并且 可以包含元数据,也可以不包含元数据

您可以使用以下数据导入选项

  • 添加/更新数据 :将提供的文档添加到数据存储区。如果新文档的 ID 与现有文档的 ID 相同,则新文档会替换旧文档。
  • 替换现有数据 :删除所有现有数据并上传新数据。 此操作无法撤销。

常见问题解答数据存储区

数据存储区可以保存常见问题的解答。当用户提出的问题与上传的问题高度匹配时,代理会返回该问题的答案,而不会进行修改。您可以为代理显示的每个问题和答案对提供标题和网址。

以 CSV 格式将数据上传到数据存储区。每个文件都必须包含一个描述列的标题行。

例如:

"question","answer","title","url"
"Why is the sky blue?","The sky is blue because of Rayleigh scattering.","Rayleigh scattering","https://en.wikipedia.org/wiki/Rayleigh_scattering"
"What is the meaning of life?","42","",""

您可以省略 titleurl 列:

"answer","question"
"42","What is the meaning of life?"

在上传过程中,您可以选择一个文件夹,其中每个文件都将作为 CSV 文件进行处理,无论文件扩展名如何。

限制:

  • , 后添加额外的空格字符会导致错误。
  • 空行(即使在文件末尾)也会导致错误。

非结构化数据存储区

非结构化数据存储区可以包含以下格式的内容:

  • HTML
  • PDF
  • TXT
  • CSV

您可以从其他项目的 Cloud Storage 存储桶导入文件。为此,请向导入过程授予明确的访问权限。按照错误消息中的说明操作,其中将包含需要对存储桶具有读取权限才能执行导入的用户名称。

限制:

  • 文本格式的文件大小上限为 2.5 MB,其他格式为 100 MB。

包含元数据的数据存储区

您可以提供标题和 URL 作为元数据。在对话期间,代理可以提供此信息,帮助用户快速链接到 Google 搜索索引器无法访问的内部网页。

如需导入包含元数据的内容,您必须提供一个或多个 JSON 行文件。此文件的每一行都描述一个文档。您不会直接上传实际文档;URIs(链接到 Cloud Storage 路径)在 JSON 行文件中提供。

如需提供 JSON 行文件,请提供包含这些文件的 Cloud Storage 文件夹。请勿在此文件夹中放置任何其他文件。

字段说明:

字段 类型 说明
id 字符串 文档的唯一标识符。
content.mimeType 字符串 文档的 MIME 类型。支持“application/pdf”和“text/html”。
content.uri 字符串 Cloud Storage 中文档的 URI。
structData 字符串 单行 JSON 对象,包含可选的 titleurl 字段。

例如:

{ "id": "d001", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/first_doc.pdf"}, "structData": {"title": "First Document", "url": "https://internal.example.com/documents/first_doc.pdf"} }
{ "id": "d002", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/second_doc.pdf"}, "structData": {"title": "Second Document", "url": "https://internal.example.com/documents/second_doc.pdf"} }
{ "id": "d003", "content": {"mimeType": "text/html", "uri": "gs://example-import/unstructured/mypage.html"}, "structData": {"title": "My Page", "url": "https://internal.example.com/mypage.html"} }

不包含元数据的数据存储区

此类内容没有元数据。相反,您需要提供指向各个文档的 URI 链接。内容类型由文件扩展名决定。

解析和分块配置

根据数据源,您可以配置解析和分块设置,如代理搜索所定义。

将 Cloud Storage 用于数据存储区文档

如果您的内容不是公开的,建议您将其存储在 Cloud Storage 中。创建数据存储区文档时,请提供 Cloud Storage 对象的网址,格式为: gs://bucket-name/folder-name。文件夹中的每个文档都会添加到数据存储区。

创建 Cloud Storage 存储桶时,请注意以下几点:

按照 Cloud Storage 快速入门 中的说明创建存储桶并上传文件。

语言

如需了解支持的语言,请参阅 语言参考中的数据存储区列。

为获得最佳性能,请使用单一语言创建数据存储区。

创建数据存储区后,您可以选择指定数据存储区语言。 如果您设置了数据存储区语言,则可以将数据存储区关联到配置为使用其他语言的代理。例如,您可以创建一个与英语代理关联的法语数据存储区。

支持的区域

如需了解支持的区域,请参阅区域参考

(访问受限)其他数据存储区来源

下表列出了其他数据存储区类型。它们作为访问受限的功能提供。您可以填写 访问权限申请表单 来申请访问权限。获得批准后,您在 Vertex AI Agent Builder 中创建数据存储区时,将能够看到这些选项。

第三方数据存储区来源

数据存储区来源 说明
Box 从组织的 Box 网站导入数据。
Confluence Cloud 从 Confluence Cloud 工作区导入数据。
Dropbox 从 Dropbox 存储空间导入数据。
EntraID 从组织的 EntraID 系统导入数据。
Jira Cloud 从 Jira 任务管理系统导入数据。
OneDrive 从组织的 OneDrive 存储空间导入数据。
Microsoft Outlook 从 Microsoft Outlook 导入数据。
Salesforce 从 Salesforce 导入数据。
ServiceNow 从 ServiceNow 导入数据。
SharePoint 从组织的 SharePoint 系统导入数据。
Slack 从 Slack 导入数据。
Microsoft Teams 从 Microsoft Teams 导入数据。

使用连接器设置第三方数据存储区

本部分简要介绍了使用第三方数据设置数据存储区的过程。如需了解特定于每个第三方数据源的说明,请参阅 Generative AI App Builder 文档。

身份提供方

借助身份提供方,您可以管理用户、群组和身份验证。设置第三方数据存储区时,您可以使用 Google 身份提供方或第三方身份提供方。

Google 身份提供方

  • 代理的用户使用其 Google 凭据登录。这可以是任何 @gmail.com 电子邮件地址,也可以是任何使用 Google 作为身份提供方的账号(例如 Google Workspace)。如果用户直接与代理对话,则系统会自动跳过此步骤,因为 Google 身份已自动内置到系统中。 Google Cloud
  • 您可以使用 Identity and Access Management (IAM) 为 Google 账号分配访问权限。

第三方身份提供方

  • 代理的用户使用非 Google 凭据登录,例如 Microsoft 电子邮件地址。
  • 您必须使用包含非 Google 身份提供方的创建员工池 。 Google Cloud 然后,您可以使用 IAM 授予对整个池或该池中各个用户的访问权限。
  • 此方法不能用于在 @google.com 组织下设置的任何 Google Cloud 项目。

连接器

第三方数据存储区是使用连接器实现的。每个连接器可以包含多个数据存储区,这些数据存储区在 Dialogflow CX 系统中存储为实体。

  • 创建数据存储区之前,您必须在Google Cloud > Agent Builder > 设置中为每个区域设置一个 身份提供方。该区域中的所有数据存储区都使用相同的身份提供方。您可以选择员工池中的 Google 身份或第三方身份。如果同一 Google 凭据位于员工池中,则会被视为不同的身份。 例如,test@gmail.com 会被视为与 workforcePools/test-pool/subject/test@gmail.com不同的身份。
    • 创建员工池 (如果需要)。
    • 前往 Agent Builder 设置 ,然后选择 Google Identity第三方身份。 点击保存 以将身份保存到该区域。
    • 现在,您可以在该区域中创建数据存储区。
  • 每个数据存储区都会将访问控制列表 (ACL) 数据与每个文档一起保存。此记录会跟踪哪些用户或群组对哪些实体具有读取权限。在运行时,用户或群组成员只有在回答来自他们具有读取权限的实体时,才会收到代理的回答。如果用户对数据存储区中的任何实体都没有读取权限,代理会返回空回答。
  • 由于数据存储区中的数据是第三方实例的副本,因此需要定期刷新。您可以按小时或天为单位配置刷新间隔。
  • 配置数据存储区并点击创建后,数据存储区可能需要长达 一小时的时间才会显示在数据存储区列表中。

数据存储区跟踪

此功能包括两个部分:

  1. 在代理模拟器中显示数据存储区内部执行跟踪和步骤延迟时间。
  2. 将数据存储区内部执行跟踪和步骤延迟时间导出到 Cloud Logging 和 BigQuery。

在模拟器中查看数据

如需在代理模拟器中显示跟踪和执行数据,请点击代理回答右侧的展开箭头,展开有关对话轮次的详细信息。

执行 标签页会显示内部数据存储区执行跟踪,包括:

  • 原始用户输入。
  • 由数据存储区引擎重写的查询。
  • 执行步骤中的质量信号,例如安全检查状态、稳定性检查状态、基础检查结果和安全检查状态。
  • 数据存储区搜索中的搜索片段。
  • 片段的支持文档列表。

延迟时间 标签页会显示各种数据存储区执行步骤的时间图。步骤列表因数据存储区的配置方式和执行流程而异。显示的数据可以包括以下内容:

  • 常见问题解答匹配 :执行常见问题解答匹配步骤。
  • 查询重写 :重写原始用户查询。
  • 搜索 :执行片段搜索。
  • 摘要 :总结回答。
  • 安全检查 :执行安全检查步骤。

在其他位置查看跟踪数据

  • 如果您为对话代理配置了对话历史记录 日志记录,则可以 在对话历史记录中查看数据存储区跟踪。
  • 如果您为对话代理配置了 日志记录,则可以在云端 Logs Explorer中查看跟踪记录和延迟时间。
  • 如果您为对话代理配置了 BigQuery 导出,则 可以在导出的 BigQuery 表中查看跟踪和延迟时间。

后续步骤

如需了解如何使用代理创建和使用数据存储区,请参阅数据存储区工具文档