借助您的数据建立依据

本页介绍了如何使用 Vertex AI Search(预览版)中的数据让回答接地。

借助您的数据让 Gemini 接地

如果您想进行检索增强生成 (RAG),请将模型关联到您的网站数据或文档集,然后使用依托 Vertex AI Search 进行接地

以数据为依据最多支持 10 个 Vertex AI Search 数据源,并且可以与依托 Google 搜索建立依据结合使用。

支持的模型

本部分列出了支持使用您的数据进行接地的模型。如需了解每个模型如何生成基于事实的回答,请按照以下说明操作:

  1. 在 Google Cloud 控制台中试用此表中列出的模型。

  2. 点击接地切换开关,将其切换到开启位置。

  3. 点击自定义,系统随即会显示自定义连接窗格。

  4. 选择 Vertex AI Search

  5. 依托 Vertex AI Search 进行接地部分,输入 Vertex AI 数据存储区的路径。如果您没有 Vertex AI 数据存储区,请创建一个数据存储区。如需了解详情,请参阅创建数据存储空间

  6. 点击保存

型号 说明 试用模型
Gemini 1.5 Pro
仅限文本输入 试用 Gemini 1.5 Pro 模型
Gemini 1.5 Flash
仅限文本输入 试用 Gemini 1.5 Flash 模型
Gemini 1.0 Pro
仅限文本输入 试用 Gemini 1.0 Pro 模型
Gemini 2.0 Flash
文本、代码、图片、音频、视频、带音频的视频、PDF 试用 Gemini 2.0 Flash 模型

前提条件

在将模型输出接地到您的数据之前,请执行以下操作:

  1. 启用 Vertex AI Agent Builder 并激活此 API。
  2. 创建 Vertex AI Agent Builder 数据源和应用。

如需了解详情,请参阅 Vertex AI Search 简介

启用 Vertex AI Agent Builder

  1. 在 Google Cloud 控制台中,前往 Agent Builder 页面。

    Agent Builder

  2. 阅读并同意服务条款,然后点击继续并激活 API

Vertex AI Agent Builder 在 global 位置或 euus 多区域提供。如需了解详情,请参阅 Vertex AI Agent Builder 位置

在 Vertex AI Agent Builder 中创建数据存储区

如需在 Vertex AI Agent Builder 中创建数据存储区,您可以选择使用网站数据或文档进行接地。

网站

  1. 在 Google Cloud 控制台中打开创建数据存储空间页面。

  2. 网站内容框中,点击选择
    系统随即会显示为数据存储区指定网站窗格。

  3. 如果高级网站索引编制未选中,请选中高级网站索引编制复选框以将其开启。
    系统随即会显示配置数据存储区窗格。

  4. 指定要编入索引的网址格式部分,执行以下操作:

    • 添加要包含的网站的网址。
    • 可选:为要排除的网站添加网址。
  5. 点击继续

  6. 配置数据存储区窗格中,

    1. 数据存储区的位置列表中选择一个值。
    2. 您的数据存储区名称字段中输入名称。系统会生成该 ID。使用数据存储区生成依据回答时,请使用此 ID。如需了解详情,请参阅使用数据存储区生成有依据的回答
    3. 点击创建

文档

  1. 在 Google Cloud 控制台中打开创建数据存储空间页面。

  2. Cloud Storage 框中,点击选择
    系统随即会显示从 Cloud Storage 导入数据窗格。

  3. 非结构化文档(PDF、HTML、TXT 等)部分中,选择非结构化文档(PDF、HTML、TXT 等)

  4. 选择同步频率选项。

  5. 选择选择您要导入的文件夹或文件选项,然后在相应字段中输入路径。

  6. 点击继续
    系统随即会显示配置数据存储区窗格。

  7. 配置数据存储区窗格中,

    1. 数据存储区的位置列表中选择一个值。
    2. 您的数据存储区名称字段中输入名称。系统会生成该 ID。
    3. 如需为文档选择解析和分块选项,请展开文档处理选项部分。如需详细了解不同的解析器,请参阅解析文档
    4. 点击创建
  8. 点击创建

使用数据存储区生成有依据的回答

按照以下说明借助您的数据让模型接地。最多支持 10 个数据存储区。

如果您不知道数据存储区 ID,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Agent Builder 页面,然后在导航菜单中点击数据存储区

    前往“数据存储区”页面

  2. 点击您的数据存储区的名称。

  3. 在数据存储区的数据页面上,获取数据存储区 ID。

控制台

如需在 Google Cloud 控制台中使用 Vertex AI Studio 将模型输出连接到 Vertex AI Agent Builder,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Studio Freeform 页面。

    前往“自由格式”

  2. 如需开启接地功能,请点击接地切换开关。
  3. 点击自定义
    1. 选择 Vertex AI Search 作为来源。
    2. 使用以下路径格式,替换数据存储区项目 ID 和数据存储区 ID:

      projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id

  4. 点击保存
  5. 在文本框中输入提示,然后点击提交

您的提示回答会借助 Vertex AI Agent Builder 接地。

Gen AI SDK for Python

安装

pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档

设置环境变量以将 Gen AI SDK 与 Vertex AI 搭配使用:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    HttpOptions,
    Retrieval,
    Tool,
    VertexAISearch,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Load Data Store ID from Vertex AI Search
# datastore = "projects/111111111111/locations/global/collections/default_collection/dataStores/data-store-id"

response = client.models.generate_content(
    model="gemini-2.0-flash-001",
    contents="How do I make an appointment to renew my driver's license?",
    config=GenerateContentConfig(
        tools=[
            # Use Vertex AI Search Tool
            Tool(
                retrieval=Retrieval(
                    vertex_ai_search=VertexAISearch(
                        datastore=datastore,
                    )
                )
            )
        ],
    ),
)

print(response.text)
# Example response:
# 'The process for making an appointment to renew your driver's license varies depending on your location. To provide you with the most accurate instructions...'

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": {
    "..."
  }
}

理解回答

如果您的模型提示使用 Vertex AI Studio 或 API 成功连接到 Vertex AI Search 数据存储区,则模型的回答会包含带有引文和来源链接的元数据。如果模型回答中的来源相关性较低或信息不完整,则可能无法提供元数据,并且提示回答不会落地。

后续步骤

  • 如需了解如何发送聊天提示请求,请参阅多回合聊天
  • 如需了解 Responsible AI 最佳实践和 Vertex AI 的安全过滤条件,请参阅安全最佳实践