本页介绍了如何使用 Vertex AI Search 中的数据来为回答提供依据。
借助您的数据让 Gemini 接地
如果您想进行检索增强生成 (RAG),请将模型连接到您的网站数据或文档集,然后使用依托 Vertex AI Search 进行接地。
基于数据的接地最多支持 10 个 Vertex AI Search 数据源,并且可以与依托 Google 搜索进行接地结合使用。
支持的模型
本部分列出了支持使用您的数据进行接地的模型。
- Gemini 2.5 Flash(支持 Live API 原生音频)
预览版 - Gemini 2.0 Flash(支持 Live API)
预览版 - Gemini 2.5 Pro
预览版 - Gemini 2.5 Flash
预览版 - Gemini 2.0 Flash
前提条件
在将模型输出接地到您的数据之前,请执行以下操作:
在 Google Cloud 控制台中,前往 IAM 页面,然后搜索
discoveryengine.servingConfigs.search
权限,该权限是地面服务正常运行所必需的。启用 AI 应用并激活此 API。
创建 AI 应用数据源和应用。
如需了解详情,请参阅 Vertex AI Search 简介。
启用 AI Applications
在 Google Cloud 控制台中,前往 AI Applications 页面。
阅读并同意服务条款,然后点击继续并激活 API。
AI 应用在 global
位置或 eu
和 us
多区域提供。如需了解详情,请参阅 AI Applications 位置
在 AI 应用中创建数据存储区
如需在 AI 应用中创建数据存储区,您可以选择使用网站数据或文档进行归因。
网站
在 Google Cloud 控制台中打开创建数据存储区页面。
在网站内容框中,点击选择。
系统随即会显示为数据存储区指定网站窗格。如果高级网站索引编制未选中,请选中高级网站索引编制复选框以将其开启。
系统随即会显示配置数据存储区窗格。在指定要编入索引的网址格式部分中,执行以下操作:
- 添加要包含的网站的网址。
- 可选:为要排除的网站添加网址。
点击继续。
在配置数据存储区窗格中,
- 从数据存储区的位置列表中选择一个值。
- 在您的数据存储区名称字段中输入名称。系统会生成该 ID。使用数据存储区生成依据回答时,请使用此 ID。如需了解详情,请参阅使用数据存储区生成有依据的回答。
- 点击创建。
文档
在 Google Cloud 控制台中打开创建数据存储区页面。
在 Cloud Storage 框中,点击选择。
系统随即会显示从 Cloud Storage 导入数据窗格。在非结构化文档(PDF、HTML、TXT 等)部分中,选择非结构化文档(PDF、HTML、TXT 等)。
选择同步频率选项。
选择选择您要导入的文件夹或文件选项,然后在相应字段中输入路径。
点击继续。
系统随即会显示配置数据存储区窗格。在配置数据存储区窗格中,
- 从数据存储区的位置列表中选择一个值。
- 在您的数据存储区名称字段中输入名称。系统会生成该 ID。
- 如需为文档选择解析和分块选项,请展开文档处理选项部分。如需详细了解不同的解析器,请参阅解析文档。
- 点击创建。
点击创建。
使用数据存储区生成有依据的回答
按照以下说明借助您的数据让模型接地。最多支持 10 个数据存储区。
如果您不知道数据存储区 ID,请按以下步骤操作:
在 Google Cloud 控制台中,前往 AI Applications 页面,然后在导航菜单中点击 Data stores。
点击您的数据存储区的名称。
在数据存储区的数据页面上,获取数据存储区 ID。
控制台
如需在Google Cloud 控制台中使用 Vertex AI Studio 将模型输出连接到 AI 应用,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Vertex AI Studio Freeform 页面。
- 如需开启接地功能,请点击接地:您的数据切换开关。
- 点击自定义。
- 选择 Vertex AI Search 作为来源。
- 使用以下路径格式,替换数据存储区项目 ID 和数据存储区 ID:
projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.
- 点击保存。
- 在文本框中输入提示,然后点击提交。
您的提示回答基于 AI 应用。
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 生成的文本,称为候选文本。如果您的模型提示成功连接到 Elasticsearch 数据源,则回答会包含锚定元数据,用于标识回答中派生自 Elasticsearch 数据的部分。但是,有多种原因可能会导致此元数据无法提供,并且提示回答不会落地。这些原因包括模型回答中的来源相关性低或信息不完整。
以下是输出数据的细分:
- 角色:表示基于事实的回答的发件人。由于响应始终包含基于事实的文本,因此角色始终为
model
。 - 文本:LLM 生成的有依据的回答。
- 接地元数据:与接地源相关的信息,其中包含以下元素:
- 基准数据块:Elasticsearch 索引中支持相应答案的结果列表。
- 接地支持:回答中有关特定断言的信息,可用于显示引用:
- 片段:模型回答的由基准数据块佐证的部分。
- 锚定分块索引:与此声明对应的锚定分块列表中的锚定分块的索引。
- 置信度得分:一个介于 0 到 1 之间的数字,表示断言在所提供的一组接地数据块中的接地程度。不适用于 Gemini 2.5 及更高版本。