数据存储区可供 数据存储区工具 从您的数据中查找最终用户问题的解答。 数据存储区是一组网站、文档或第三方系统中的数据,每个网站、文档或数据都将作为您的数据来源。
当最终用户向代理提出问题时,代理会从给定的源内容中搜索答案,并将结果汇总为连贯的代理回答。 它还提供指向回答来源的支持链接,供最终用户了解详情。 对于给定的问题,代理最多可以提供五个回答片段。
数据存储区来源
您可以为数据提供不同的来源:
- 网站网址: 自动从网域 或网页列表中抓取网站内容。
- BigQuery: 导入数据从 BigQuery 表。
- Cloud Storage: 导入数据从您的 Cloud Storage 存储桶。
- AlloyDB: 从您的 AlloyDB 集群导入数据。
- Bigtable: 从 Bigtable 表导入数据。
- Firestore: 从您的 Firestore 集合导入数据。
- Cloud SQL: 从 Cloud SQL 表导入数据。
- Spanner: 从 Spanner 表导入数据。
访问受限的数据存储区来源
Google 提供了许多其他第一方和第三方数据存储区来源,作为一项访问受限的功能。如需查看可用来源的列表并申请 访问权限,请参阅 本页面的其他数据存储区来源 部分。
网站内容
添加网站内容作为来源时,您可以添加和排除多个网站。
指定网站时,您可以使用单个网页或 * 作为模式的通配符。系统将处理所有 HTML 和 PDF 内容。
使用网站内容作为来源时,您必须 验证网域 。
限制:
- 来自公共网址的文件必须已被 Google 搜索索引器抓取,因此存在于搜索索引中。 您可以使用 Google Search Console检查是否满足此项要求。
- 最多可为 200,000 个网页编制索引。如果数据存储区包含的网页数量超过此上限,则索引编制操作将失败。系统会保留所有已编制索引的内容。
导入数据
您可以从 BigQuery 或 Cloud Storage导入数据。这些数据可以是常见问题解答形式 或非结构化数据,并且可以包含元数据 或不包含元数据。
您可以使用以下数据导入选项 :
- 添加/更新数据: 系统会将提供的文档添加到数据存储区。 如果新文档的 ID 与旧文档的 ID 相同,则新文档会替换旧文档。
- 替换现有数据: 系统会删除所有旧数据, 然后上传新数据。 此操作无法撤消。
常见问题解答数据存储区
常见问题解答数据存储区可以保存常见问题解答 (FAQ)。 当用户提出的问题与上传的问题高度匹配时,代理会返回该问题的答案,而不会进行任何修改。 您可以为代理显示的每个问题和答案对提供标题和网址。
必须以 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.5MB,其他格式为 100MB。
包含元数据的数据存储区
您可以提供标题和 URL 作为元数据。
当代理与用户进行对话时,代理可以向用户提供此信息。这有助于用户快速链接到 Google 搜索索引器无法访问的内部网页。
如需导入包含元数据的内容,您必须提供一个或多个
JSON 行文件。此文件的每一行都描述一个文档。您不会直接上传实际文档;URIs JSON 行文件中提供了指向
Cloud Storage 路径的。
如需提供 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中。
创建数据存储区文档时,请以 gs://bucket-name/folder-name 格式提供 Cloud Storage 对象的网址。文件夹中的每个文档都会添加到数据存储区。
创建 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 导入数据。 |
使用连接器设置第三方数据存储区
本部分概述了使用第三方数据设置数据存储区的过程。如需了解特定于每个第三方数据源的说明,请参阅 生成式 AI 文档。
身份提供方
借助身份提供方,您可以管理用户、群组和身份验证。设置第三方数据存储区时,您可以选择使用 Google 身份提供方或第三方身份提供方。
Google 身份提供方:
- 代理的任何用户都需要使用其 Google 凭据登录。这可以是任何
@gmail.com电子邮件地址,也可以是任何使用 Google 作为身份提供方的账号(例如 Google Workspace)。如果用户直接与代理对话,则系统会自动内置 Google 身份,因此会跳过此步骤。 Google Cloud - 您可以使用 IAM为 Google 账号分配访问权限。
第三方身份提供方:
- 代理的用户使用非 Google 凭据(例如 Microsoft 电子邮件地址)登录。
- 您必须使用包含非 Google 身份提供方的来创建员工池 。 Google Cloud 然后,您可以使用 IAM 授予对整个 池或该池中各个用户的访问权限。
- 此方法不能用于在
组织下设置的任何 Google Cloud 项目。
@google.com
连接器
第三方数据存储区是使用 连接器 实现的。每个连接器可以包含多个数据存储区,这些数据存储区在 Dialogflow CX 系统中存储为 实体 。
注意 :我们仅支持用户账号进行身份验证;连接器不支持服务账号。
创建数据存储区之前,您必须在 Google Cloud -> 代理构建器 -> 设置 中为每个区域设置一个 身份提供方。该区域中的所有数据存储区都将使用相同的身份提供方。您可以选择员工池中的 Google 身份或第三方身份。如果同一 Google 凭据位于员工池中,则会被视为不同的身份。例如,
test@gmail.com会被视为与workforcePools/test-pool/subject/test@gmail.com不同的身份。每个数据存储区都会将访问控制列表 (ACL) 数据与每个文档一起保存。这是一份记录,其中记录了哪些用户或群组对哪些实体具有读取权限。在运行时,用户或群组成员仅 会收到来自代理的响应,这些响应源自他们具有读取权限的实体。如果用户对数据存储区中的任何实体都没有读取权限,代理将返回空响应。
由于数据存储区中的数据是第三方实例的副本,因此需要定期刷新。您可以按小时或天的时间尺度配置刷新间隔。
配置数据存储区并点击创建后,数据存储区可能需要长达 一小时的时间才会显示在数据存储区列表中。
数据存储区跟踪
此功能包括两个部分:
- 在代理模拟器中显示数据存储区内部执行跟踪和步骤延迟时间。
- 将跟踪和延迟时间数据导出到 Cloud Logging 和 BigQuery。
在模拟器中查看数据
如需在代理数据中显示跟踪记录和执行数据,请点击代理响应右侧的展开箭头,展开有关对话轮次的详细信息。
执行 标签页会显示内部数据存储区执行跟踪,包括以下信息:
- 原始用户输入。
- 数据存储区引擎重写的查询。
- 各个执行步骤中的质量信号,包括安全检查状态、稳定性检查状态、接地检查结果和安全检查状态。
- 数据存储区搜索中的搜索片段。
- 片段来源的支持文档列表。
延迟时间 标签页会显示各个数据存储区执行步骤的时间图。步骤列表可能会因数据存储区的配置方式以及执行流程而异。显示的数据可以包括以下内容:
- 常见问题解答匹配:数据存储区执行了常见问题解答匹配步骤。
- 查询重写:数据存储区重写了原始用户查询。
- 搜索:数据存储区执行了片段搜索。
- 摘要:数据存储区总结了响应。
- 安全检查:数据存储区执行了安全检查步骤。
在其他位置查看跟踪数据
如果对话代理配置了 对话历史记录日志记录, 您还可以在 对话历史记录 中查看数据存储区跟踪记录。
如果对话代理配置了 Cloud Logging, 您还可以在 Cloud Logs Explorer中查看跟踪和延迟时间。
如果对话代理配置了 BigQuery 导出, 您还可以在导出的 BigQuery 表中查看跟踪和延迟时间。
后续步骤
如需了解如何创建数据存储区并将其与代理搭配使用,请参阅 数据存储区工具 文档。