Fundamentación con Vertex AI Search

En esta página, se explica cómo puedes fundamentar las respuestas con tus datos de Vertex AI Search.

Fundamenta Gemini con tus datos

Si deseas realizar una generación aumentada de recuperación (RAG), conecta tu modelo a los datos de tu sitio web o a tus conjuntos de documentos y, luego, usa la fundamentación con Vertex AI Search.

La fundamentación en tus datos admite un máximo de 10 fuentes de datos de Vertex AI Search y se puede combinar con la Fundamentación con la Búsqueda de Google.

Modelos compatibles

En esta sección, se enumeran los modelos que admiten la fundamentación con tus datos.

Requisitos previos

Antes de poder fundamentar el resultado del modelo en tus datos, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página IAM y busca el permisodiscoveryengine.servingConfigs.search, que es necesario para que funcione el servicio de fundamentación.

    Ir a IAM

  2. Habilita las APIs para AI Applications y activa la API.

  3. Crea una fuente de datos y una aplicación de AI Applications.

Consulta la Introducción a Vertex AI Search para obtener más información.

Habilita AI Applications

  1. En la consola de Google Cloud , ve a la página AI Applications.

    Aplicaciones basadas en IA

  2. Lee y acepta las Condiciones del Servicio y, luego, haz clic en Continuar y activar la API.

Las aplicaciones de IA están disponibles en la ubicación global o en la multirregión eu y us. Para obtener más información, consulta Ubicaciones de las aplicaciones de IA.

Crea un almacén de datos en AI Applications

Para crear un almacén de datos en Aplicaciones basadas en IA, puedes optar por fundamentar la respuesta con datos de sitios web o documentos.

Sitio web

  1. Abre la página Create Data Store desde la consola de Google Cloud .

  2. En el cuadro Contenido de sitios web, haz clic en Seleccionar.
    Se mostrará el panel Especifica los sitios web para tu almacén de datos.

  3. Si la opción Indexación avanzada de sitios web no está marcada, selecciona la casilla de verificación Indexación avanzada de sitios web para activarla.
    Aparecerá el panel Configura tu almacén de datos.

  4. En la sección Especificar los patrones de URL que se indexarán, haz lo siguiente:

    • Agrega URLs para Sitios para incluir.
    • Opcional: Agrega URLs para Sitios para excluir.
  5. Haz clic en Continuar.

  6. En el panel Configura tu almacén de datos,

    1. Selecciona un valor de la lista Ubicación de tu almacén de datos.
    2. Ingresa un nombre en el campo Nombre de tu almacén de datos. El ID se genera. Usa este ID cuando generes tus respuestas fundamentadas con tu almacén de datos. Para obtener más información, consulta Cómo generar respuestas fundamentadas con tu almacén de datos.
    3. Haz clic en Crear.

Documentos

  1. Abre la página Create Data Store desde la consola de Google Cloud .

  2. En el cuadro Cloud Storage, haz clic en Seleccionar.
    Se mostrará el panel Importar datos desde Cloud Storage.

  3. En la sección Documentos no estructurados (PDF, HTML, TXT y más), selecciona Documentos no estructurados (PDF, HTML, TXT y más).

  4. Selecciona una opción de Frecuencia de sincronización.

  5. Selecciona una opción de Selecciona una carpeta o un archivo que desees importar y, luego, ingresa la ruta de acceso en el campo.

  6. Haz clic en Continuar.
    Se mostrará el panel Configura tu almacén de datos.

  7. En el panel Configura tu almacén de datos,

    1. Selecciona un valor de la lista Ubicación de tu almacén de datos.
    2. Ingresa un nombre en el campo Nombre de tu almacén de datos. El ID se genera.
    3. Para seleccionar las opciones de análisis y fragmentación de tus documentos, expande la sección Opciones de procesamiento de documentos. Para obtener más información sobre los diferentes analizadores, consulta Cómo analizar documentos.
    4. Haz clic en Crear.
  8. Haz clic en Crear.

Genera respuestas fundamentadas con tu almacén de datos

Usa las siguientes instrucciones para fundamentar un modelo con tus datos. Se admite un máximo de 10 almacenes de datos.

Si no conoces el ID del almacén de datos, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página AI Applications y, en el menú de navegación, haz clic en Data stores.

    Ve a la página Almacenes de datos.

  2. Haz clic en el nombre de tu almacén de datos.

  3. En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.

Console

Para fundamentar el resultado de tu modelo en AI Applications con Vertex AI Studio en la consola deGoogle Cloud , sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Vertex AI Studio Freeform.

    Ir a Formato libre

  2. Para activar la fundamentación, haz clic en el botón de activación Fundamentación: tus datos.
  3. Haz clic en Personalizar.
    1. Selecciona Vertex AI Search como tu fuente.
    2. Con este formato de ruta de acceso, reemplaza el ID del proyecto y el ID del almacén de datos:

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

  4. Haz clic en Guardar.
  5. Ingresa tu instrucción en el cuadro de texto y haz clic en Enviar.

Tus respuestas a las instrucciones se basan en las aplicaciones de IA.

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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.5-flash",
    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

Para probar un mensaje de texto con la API de Vertex AI, envía una solicitud POST al extremo del modelo de publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: La región para procesar la solicitud.
  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: El ID del modelo multimodal.
  • TEXT: las instrucciones de texto que se incluirán en el mensaje.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Comprende tu respuesta

La respuesta de ambas APIs incluye el texto generado por el LLM, que se denomina candidato. Si la instrucción de tu modelo se fundamenta correctamente en tu fuente de datos, las respuestas incluirán metadatos de fundamentación, que identifican las partes de la respuesta que se derivaron de tus datos. Sin embargo, existen varios motivos por los que es posible que no se proporcionen estos metadatos, y la respuesta a la instrucción no se basará en ellos. Entre estos motivos, se incluyen la baja relevancia de la fuente o la información incompleta en la respuesta del modelo.

A continuación, se muestra un desglose de los datos de salida:

  • Rol: Indica el remitente de la respuesta fundamentada. Dado que la respuesta siempre contiene texto fundamentado, el rol siempre es model.
  • Texto: Es la respuesta fundamentada que genera el LLM.
  • Metadatos de fundamentación: Es información sobre la fuente de fundamentación, que contiene los siguientes elementos:
    • Fragmentos de fundamentación: Es una lista de resultados de tu índice que respaldan la respuesta.
    • Fundamentación compatible: Información sobre una afirmación específica dentro de la respuesta que se puede usar para mostrar citas:
    • Segmento: Es la parte de la respuesta del modelo que se fundamenta en un fragmento de fundamentación.
    • Índice de fragmento de fundamentación: Es el índice de los fragmentos de fundamentación en la lista de fragmentos de fundamentación que corresponde a esta afirmación.
    • Puntuaciones de confianza: Es un número del 0 al 1 que indica qué tan fundamentada está la afirmación en el conjunto proporcionado de fragmentos de fundamentación. No está disponible para Gemini 2.5 y versiones posteriores.

¿Qué sigue?