本页面介绍如何使用通过 Vertex AI Search 获得的数据来提供接地回答。
利用您的数据让 Gemini 接地
如果您想进行检索增强生成 (RAG),请将模型关联到您的网站数据或文档集,然后依托 Vertex AI Search 进行接地。
利用数据接地最多支持 10 个 Vertex AI Search 数据源,并且可以与依托 Google 搜索进行接地相结合。
支持的模型
本部分列出了支持利用数据接地的模型。
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Flash(支持 Live API 原生音频功能)(预览版)
- 支持 Live API 的 Gemini 2.0 Flash(预览版)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
前提条件
在利用自己的数据将模型输出接地之前,请先执行以下操作:
在 Google Cloud 控制台中,前往 IAM 页面,然后搜索
discoveryengine.servingConfigs.search
权限,这是接地服务正常运行所必需的权限。启用 AI Applications 并激活该 API。
如需了解详情,请参阅 Vertex AI Search 简介。
启用 AI Applications
在 Google Cloud 控制台中,前往 AI Applications 页面。
阅读并同意服务条款,然后点击继续并激活 API。
AI Applications 在 global
位置或 eu
和 us
多区域提供。如需了解详情,请参阅 AI Applications 位置
在 AI Applications 中创建数据存储区
如需在 AI Applications 中创建数据存储区,您可以选择利用网站数据或文档来接地。
网站
在 Google Cloud 控制台中打开创建数据存储区页面。
在网站内容框中,点击选择。
系统会显示为数据存储区指定网站窗格。如果未勾选高级网站索引编制,请勾选高级网站索引编制复选框以将其开启。系统会显示
配置数据存储区窗格。在指定要编制索引的网址格式部分中,执行以下操作:
- 添加要包含的网站的网址。
- 可选:添加要排除的网站的网址。
点击继续。
在配置数据存储区窗格中,
- 从数据存储区的位置列表中选择一个值。
- 在您的数据存储区名称字段中输入一个名称。系统会生成 ID。在利用数据存储区生成接地回答时,请使用此 ID。如需了解详情,请参阅利用数据存储区生成接地回答。
- 点击创建。
文档
在 Google Cloud 控制台中打开创建数据存储区页面。
在 Cloud Storage 框中,点击选择。
系统会显示从 Cloud Storage 导入数据窗格。在非结构化文档(PDF、HTML、TXT 等)部分中,选择非结构化文档(PDF、HTML、TXT 等)。
选择同步频率选项。
选择选择您要导入的文件夹或文件选项,然后在相应字段中输入路径。
点击继续。系统会显示
配置数据存储区窗格。在配置数据存储区窗格中,
- 从数据存储区的位置列表中选择一个值。
- 在您的数据存储区名称字段中输入一个名称。系统会生成 ID。
- 如需为文档选择解析和分块选项,请展开文档处理选项部分。如需详细了解不同的解析器,请参阅解析文档。
- 点击创建。
点击创建。
利用数据存储区生成接地回答
按照以下说明利用您的数据让模型接地。最多支持 10 个数据存储区。
如果您不知道数据存储区 ID,请按以下步骤操作:
在 Google Cloud 控制台中,前往 AI Applications 页面,然后在导航菜单中点击数据存储区。
点击您的数据存储区的名称。
在数据存储区的数据页面上,获取数据存储区 ID。
控制台
如需在Google Cloud 控制台中使用 Vertex AI Studio 利用 AI Applications 让模型输出接地,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Vertex AI Studio 自由格式页面。
- 如需开启接地功能,请点击接地:您的数据切换开关。
- 点击自定义。
- 选择 Vertex AI Search 作为来源。
- 使用以下路径格式,替换数据存储区的项目 ID 和数据存储区的 ID:
projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id。
- 点击保存。
- 在文本框中输入提示,然后点击提交。
您的提示回答会利用 AI Applications 接地。
Python
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Python 设置说明执行操作。 如需了解详情,请参阅 Vertex AI Python API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需使用 Vertex AI API 测试文本提示,请向发布方模型端点发送 POST 请求。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:处理请求的区域。
- PROJECT_ID:您的项目 ID。
- MODEL_ID:多模态模型的模型 ID。
- TEXT:要包含在提示中的文本说明。
HTTP 方法和网址:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
请求 JSON 正文:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }], "tools": [{ "retrieval": { "vertexAiSearch": { "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID } } }], "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "You can make an appointment on the website https://dmv.gov/" } ] }, "finishReason": "STOP", "safetyRatings": [ "..." ], "groundingMetadata": { "retrievalQueries": [ "How to make appointment to renew driving license?" ], "groundingChunks": [ { "retrievedContext": { "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==", "title": "dmv" } } ], "groundingSupport": [ { "segment": { "startIndex": 25, "endIndex": 147 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1, 2], "confidenceScore": [0.9541752, 0.97726375] }, { "segment": { "startIndex": 294, "endIndex": 439 }, "segment_text": "ipsum lorem ...", "supportChunkIndices": [1], "confidenceScore": [0.9541752, 0.9325467] } ] } } ], "usageMetadata": { "..." } }
理解回答
这两个 API 的回答都包含 LLM 生成的文本,称为候选回答。如果您的模型提示成功接地到数据源,则回答会包含接地元数据,用于标识回答中源自数据的部分。但是,有多种原因可能会导致此元数据无法提供,并且提示回答不会接地。这些原因包括模型回答中的来源相关性低或信息不完整。
以下是输出数据的细分:
- 角色:指示接地回答的发送者。由于回答始终包含接地的文本,因此角色始终为
model
。 - 文本:由 LLM 生成的接地的回答。
- 接地元数据:有关接地来源的信息,包含以下元素:
- 接地块:来自索引且支持回答的结果列表。
- 接地支持:回答中有关特定声明的信息,可用于显示引用:
- 片段:模型回答中由接地块证实的部分。
- 接地块索引:接地块列表中与相应声明对应的接地块的索引。
- 置信度得分:一个介于 0 到 1 之间的数字,表示声明在所提供的接地块集中的接地程度。不适用于 Gemini 2.5 及更高版本。