Fundamenta con tus datos

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

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 Fundamentación con Vertex AI Search.

La vinculación a tus datos admite un máximo de 10 fuentes de datos de Vertex AI Search y se puede combinar con la vinculació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. Para explorar cómo cada modelo genera respuestas fundamentadas, sigue estas instrucciones:

  1. Prueba un modelo que aparezca en esta tabla en la consola de Google Cloud.

  2. Haz clic en el botón de activación Fundamentación para llevarlo a la posición activada.

  3. Haz clic en Personalizar y aparecerá el panel Personalizar puesta a tierra.

  4. Selecciona Vertex AI Search.

  5. En la sección Fundamentación con Vertex AI Search, ingresa la ruta de acceso del almacén de datos de Vertex AI. Si no tienes un almacén de datos de Vertex AI, crea uno. Para obtener más información, consulta Cómo crear un almacén de datos.

  6. Haz clic en Guardar.

Modelo Descripción Cómo probar un modelo
Gemini 1.5 Pro
Solo entrada de texto Prueba el modelo Gemini 1.5 Pro
Gemini 1.5 Flash
Solo entrada de texto Prueba el modelo Gemini 1.5 Flash
Gemini 1.0 Pro
Solo entrada de texto Prueba el modelo Gemini 1.0 Pro
Gemini 2.0 Flash
Texto, código, imágenes, audio, video, video con audio, PDF Prueba el modelo Gemini 2.0 Flash

Requisitos previos

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

  1. Habilita Vertex AI Agent Builder y activa la API.
  2. Crea una fuente de datos y una aplicación de Vertex AI Agent Builder.

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

Habilita Vertex AI Agent Builder

  1. En la consola de Google Cloud, ve a la página Agent Builder.

    Agent Builder

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

Vertex AI Agent Builder está disponible en la ubicación global o en la multirregión eu y us. Para obtener más información, consulta Ubicaciones de Vertex AI Agent Builder.

Crea un almacén de datos en Vertex AI Agent Builder

Para crear un almacén de datos en Vertex AI Agent Builder, puedes optar por fundamentarlo con datos o documentos del sitio web.

Sitio web

  1. Abre la página Crear Datastore en la consola de Google Cloud.

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

  3. Si no está marcada la opción Indexación avanzada de sitios web, 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 los Sitios para incluir.
    • Opcional: Agrega URLs para los 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. Se genera el ID. 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 Crear Datastore en 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 la opción Seleccionar 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. Se genera el ID.
    3. Para seleccionar opciones de análisis y división de tus documentos, expande la sección Document Processing Options. 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 Vertex AI Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.

    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 Vertex AI Agent Builder a través de Generative AI Studio en la consola de Google Cloud, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Vertex AI Studio y haz clic en la pestaña Freeform.

    Ir a Vertex AI Studio

  2. En el panel lateral, haz clic en el botón de activación Fundamentar las respuestas del modelo para habilitar la fundamentación.
  3. Haz clic en Personalizar.
    1. Establece Vertex AI Search como tu fuente.
    2. Con este formato de ruta, reemplaza el ID de proyecto y el ID del almacén de datos:

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

  4. Ingresa el mensaje en el cuadro de texto y haz clic en Enviar.

Tus respuestas a las instrucciones se basan en Vertex AI Agent Builder.

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.

import vertexai

from vertexai.preview.generative_models import (
    GenerationConfig,
    GenerativeModel,
    Tool,
    grounding,
)

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# data_store_id = "your-data-store-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

model = GenerativeModel("gemini-1.5-flash-001")

tool = Tool.from_retrieval(
    grounding.Retrieval(
        grounding.VertexAISearch(
            datastore=data_store_id,
            project=PROJECT_ID,
            location="global",
        )
    )
)

prompt = "How do I make an appointment to renew my driver's license?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)

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

Si la instrucción de tu modelo se fundamenta correctamente en los almacenes de datos de Vertex AI Search con Vertex AI Studio o la API, las respuestas del modelo incluirán metadatos con citas y vínculos de origen. Si se produce una baja relevancia de la fuente o información incompleta en la respuesta del modelo, es posible que no se proporcionen metadatos, y la respuesta a la instrucción no se basará en ellos.

¿Qué sigue?