数据存储区可供数据存储区工具 从您的数据中查找最终用户问题的解答。数据存储区是一组网站、文档或第三方系统中的数据,每个网站、文档或数据都将作为您的数据来源。
当最终用户向代理提出问题时,代理会从给定的源内容中搜索答案,并将结果汇总为连贯的代理回答。它还提供指向回答来源的支持链接,供最终用户了解详情。对于给定的问题,代理最多可以提供五个答案片段。
数据存储区来源
您可以使用不同的数据来源:
- 网站网址:自动抓取网站内容,抓取来源为 网域或网页列表。
- BigQuery:从 BigQuery 表导入数据。
- Cloud Storage: 从 Cloud Storage 存储桶导入数据。
- AlloyDB:从您的AlloyDB for PostgreSQL 集群导入数据。
- Bigtable :从 Bigtable 表导入数据。
- Firestore:从您的 Firestore 集合导入数据。
- Cloud SQL:从 Cloud SQL 表导入数据。
- Spanner :从 Spanner 表导入数据。
访问受限的数据存储区来源
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","",""
您可以省略 title 和 url 列:
"answer","question"
"42","What is the meaning of life?"
在上传过程中,您可以选择一个文件夹,其中每个文件都将作为 CSV 文件进行处理,无论文件扩展名如何。
限制:
- 在
,后添加额外的空格字符会导致错误。 - 空行(即使在文件末尾)也会导致错误。
非结构化数据存储区
非结构化数据存储区可以包含以下格式的内容:
HTMLPDFTXTCSV
您可以从其他项目的 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 对象,包含可选的 title 和 url 字段。 |
例如:
{ "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 存储桶时,请注意以下几点:
- 选择您用于代理的项目。
- 使用 Standard 存储类别。
- 将 存储桶位置 设置为与 代理相同的位置。
按照 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) 数据与每个文档一起保存。此记录会跟踪哪些用户或群组对哪些实体具有读取权限。在运行时,用户或群组成员只有在回答来自他们具有读取权限的实体时,才会收到代理的回答。如果用户对数据存储区中的任何实体都没有读取权限,代理会返回空回答。
- 由于数据存储区中的数据是第三方实例的副本,因此需要定期刷新。您可以按小时或天为单位配置刷新间隔。
- 配置数据存储区并点击创建后,数据存储区可能需要长达 一小时的时间才会显示在数据存储区列表中。
数据存储区跟踪
此功能包括两个部分:
- 在代理模拟器中显示数据存储区内部执行跟踪和步骤延迟时间。
- 将数据存储区内部执行跟踪和步骤延迟时间导出到 Cloud Logging 和 BigQuery。
在模拟器中查看数据
如需在代理模拟器中显示跟踪和执行数据,请点击代理回答右侧的展开箭头,展开有关对话轮次的详细信息。
执行 标签页会显示内部数据存储区执行跟踪,包括:
- 原始用户输入。
- 由数据存储区引擎重写的查询。
- 执行步骤中的质量信号,例如安全检查状态、稳定性检查状态、基础检查结果和安全检查状态。
- 数据存储区搜索中的搜索片段。
- 片段的支持文档列表。
延迟时间 标签页会显示各种数据存储区执行步骤的时间图。步骤列表因数据存储区的配置方式和执行流程而异。显示的数据可以包括以下内容:
- 常见问题解答匹配 :执行常见问题解答匹配步骤。
- 查询重写 :重写原始用户查询。
- 搜索 :执行片段搜索。
- 摘要 :总结回答。
- 安全检查 :执行安全检查步骤。
在其他位置查看跟踪数据
- 如果您为对话代理配置了对话历史记录 日志记录,则可以 在对话历史记录中查看数据存储区跟踪。
- 如果您为对话代理配置了 日志记录,则可以在云端 Logs Explorer中查看跟踪记录和延迟时间。
- 如果您为对话代理配置了 BigQuery 导出,则 可以在导出的 BigQuery 表中查看跟踪和延迟时间。
后续步骤
如需了解如何使用代理创建和使用数据存储区,请参阅数据存储区工具文档。