数据存储区代理使用数据存储区从您的数据中查找最终用户问题的解答。数据存储区是网站和文档的集合,每个网站和文档都会引用您的数据。
当最终用户向代理提问时,代理会从给定源内容中搜索答案,并将结果汇总为连贯的代理响应。它还提供指向响应来源的支持链接,供最终用户了解详情。代理可以为给定问题提供最多五个答案摘要。
数据存储区来源
您可以为数据提供不同的来源:
网站内容
将网站内容添加为来源时,
您可以添加和排除多个网站。指定网站时,您可以使用单个页面或 *
作为模式的通配符。系统会处理所有 HTML 和 PDF 内容。
使用网站内容作为来源时,您必须验证您的网域。
限制:
- 来自公共网址的文件必须已被 Google 搜索索引器抓取,因此存在于搜索索引中。 您可以使用 Google Search Console 检查是否满足此项要求。
- 最多可以将 20 万个网页编入索引。如果数据存储区包含更多网页,索引编制会失败,并保留上次编入索引的内容。
导入数据
您可以从 BigQuery 或 Cloud Storage 导入数据。 这些数据可以是结构化数据,也可以是非结构化数据,也可以是包含元数据或不含元数据的数据。
您可以使用以下数据导入选项:
- 添加/更新数据:提供的文档会添加到数据存储区。如果新文档与旧文档具有相同的 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 文件,无论扩展名如何。
限制:
,
后多余的空格字符会导致错误。- 空白行(即使是在文件末尾)会导致错误。
非结构化数据存储区
非结构化数据存储区可以包含以下格式的内容:
- HTML
- TXT
- CSV
限制:
- 对于基于文本的格式,文件大小上限为 2.5MB,其他格式则为 100MB。
包含元数据的数据存储区
标题和网址可以作为元数据提供。当代理与用户对话时,代理可以向用户提供此信息。 这有助于用户快速链接到 Google 搜索索引器无法访问的内部网页。
如需导入包含元数据的内容,您需要提供一个或多个 JSON Lines 文件。此文件中的每一行描述一个文档。 您无需直接上传实际文档;JSON Lines 文件中提供了链接到 Cloud Storage 路径的 URI。
提供 JSON Lines 文件时,您需要提供包含这些文件的 Cloud Storage 文件夹。请勿将任何其他文件放入此文件夹中。
字段说明:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 文档的唯一标识符。 |
content.mimeType | 字符串 | 文档的 MIME 类型。支持“application/pdf”和“text/html”。 |
content.uri | 字符串 | Cloud Storage 中文档的 URI。 |
content.structData | 字符串 | 包含可选 title 和 url 字段的单行 JSON 对象。 |
例如:
{ "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"} }
不包含元数据的数据存储区
此类内容没有元数据。只需提供要导入的文档即可。 内容类型由文件扩展名决定。
解析和分块配置
根据数据源,您或许可以配置 Vertex AI Search 定义的解析和分块设置。
创建数据存储区
如需创建数据存储区,请执行以下操作:
前往 Vertex AI Conversation 控制台:
从控制台下拉菜单中选择您的项目。
阅读并同意服务条款,然后点击继续并激活 API。
点击左侧导航栏中的数据存储区。
点击新建数据存储区。
启用高级网站索引编制。数据存储区代理必须执行此操作。
为您选择的数据存储区来源提供数据和配置。 您的数据存储区位置应与代理位置相对应。
点击创建以创建数据存储区。
(可选)设置数据存储区语言:
- 在数据存储区列表中,点击刚刚创建的数据存储区。
- 点击语言设置对应的修改 按钮。
- 选择一种语言,然后点击勾选即可应用。
将 Cloud Storage 用于数据存储区文档
如果您的内容不是公开的,建议您将内容存储在 Cloud Storage 中。创建数据存储区文档时,需以 gs://bucket-name/folder-name
格式提供 Cloud Storage 对象的网址。文件夹中的每个文档都会添加到数据存储区。
创建 Cloud Storage 存储桶时,请注意以下几点:
- 请确保您已选择用于代理的项目。
- 使用 Standard 存储类别。
- 将存储桶位置设置为您的代理所在的位置。
按照 Cloud Storage 快速入门中的说明创建存储桶并上传文件。
语言
如需了解支持的语言,请参阅 Dialogflow 语言参考文档中的数据存储区列。
为实现最佳性能,建议使用单一语言创建数据存储区。
创建数据存储区后,您可以选择指定数据存储区语言。如果您设置了数据存储区语言,则可以将数据存储区连接到针对其他语言配置的数据存储区代理。例如,您可以创建一个连接到英语代理的法语数据存储区。
支持的区域
如需了解支持的区域,请参阅 Dialogflow 区域参考。