Respuestas fundamentales para los modelos de Gemini

En esta página, se describen dos formas de fundamentar las respuestas de un modelo con Vertex AI y se muestra cómo hacer que la fundamentación funcione en tus aplicaciones con la API de Grounding.

Vertex AI te permite fundamentar los resultados del modelo con las siguientes fuentes de datos:

  • Búsqueda de Google: Fundamenta las respuestas con datos web disponibles públicamente.
  • Tus datos: Usa tus datos de Vertex AI Search (versión preliminar) para fundamentar las respuestas.

Grounding with Google Search

Usa Grounding with Google Search si deseas conectar el modelo con conocimiento mundial, una amplia variedad de temas o información actualizada en Internet.

Debes mostrar las sugerencias de la Búsqueda de Google cuando uses esta función. Para obtener más información sobre los requisitos, consulta Sugerencias de la Búsqueda de Google.

Para obtener más información sobre los fundamentos de modelos en Vertex AI, consulta la descripción general de Grounding.

Modelos compatibles

Los siguientes modelos admiten la fundamentación:

  • Gemini 1.5 Pro solo con entrada de texto
  • Gemini 1.5 Flash solo con entrada de texto
  • Gemini 1.0 Pro solo con entrada de texto

Idiomas admitidos

  • Inglés (en)
  • Español (es)
  • Japonés (ja)

Usa las siguientes instrucciones para fundamentar un modelo con datos web disponibles públicamente.

Consideraciones

  • Para usar la fundamentación con la Búsqueda de Google, debes habilitar las sugerencias de la Búsqueda de Google. Obtén más información en Sugerencias de la Búsqueda de Google.

  • Para obtener resultados ideales, usa una temperatura de 0.0. Para obtener más información sobre cómo establecer esta configuración, consulta el cuerpo de la solicitud a la API de Gemini de la referencia del modelo.

  • La verificación de la conexión a tierra con la Búsqueda de Google tiene un límite de un millón de consultas por día. Si necesitas más, comunícate con tu equipo de asistencia al cliente.

REST

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": [{
    "googleSearchRetrieval": {}
  }],
  "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": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer."
           }
         ]
       },
       "finishReason": "STOP",
       "safetyRatings":[
       "..."
    ],
       "groundingMetadata": {
         "webSearchQueries": [
           "What's the weather in Chicago this weekend?"
         ],
         "searchEntryPoint": {
            "renderedContent": "....................."
         }
       }
     }
   ],
   "usageMetadata": { "..."
   }
 }

Console

Para usar Grounding with Google Search con Vertex AI Studio, sigue estos pasos:

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

    Ir a Vertex AI Studio

  2. Haz clic en la pestaña Freeform.
  3. En el panel lateral, haz clic en el botón de activación Fundamentar las respuestas del modelo.
  4. Haz clic en Personalizar y establece la Búsqueda de Google como la fuente.
  5. Ingresa el mensaje en el cuadro de texto y haz clic en Enviar.

Tus respuestas a las instrucciones ahora se basan en la Búsqueda de Google.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.

import vertexai

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

# TODO (developer): update project_id
vertexai.init(project=PROJECT_ID, location="us-central1")

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

# Use Google Search for grounding
tool = Tool.from_google_search_retrieval(grounding.GoogleSearchRetrieval())

prompt = "When is the next total solar eclipse in US?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)

Comprende tu respuesta

Si la instrucción de tu modelo se fundamenta correctamente en la Búsqueda de Google desde Vertex AI Studio o desde la API, las respuestas incluirán metadatos con vínculos de origen (URLs web). 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.

Citas

Se recomienda mostrar citas. Ayudan a los usuarios a validar las respuestas de los propios editores y agregan vías para obtener más información.

Las citas de las respuestas de las fuentes de la Búsqueda de Google deben mostrarse intercaladas y de manera no individualizada. Consulta la siguiente imagen como sugerencia para hacerlo.

Ejemplos de citas

Uso de opciones de motores de búsqueda alternativos

El uso de Grounding with Google Search no impide que el cliente ofrezca opciones de motores de búsqueda alternativas, haga que las opciones de búsqueda alternativas sean la opción predeterminada para aplicaciones del cliente ni muestre sus propias sugerencias de búsqueda o resultados de búsqueda de terceros o de terceros en aplicaciones de cliente, siempre que esos servicios de búsqueda que no son de Google o resultados asociados se muestren por separado de los resultados fundamentados y las sugerencias de búsqueda, y no se pueden atribuir ni confundir con los resultados proporcionados por Google.

Fundamenta Gemini con tus datos

En esta sección, se muestra cómo fundamentar las respuestas de texto en un almacén de datos de Vertex AI Agent Builder con la API de Vertex AI.

Modelos compatibles

Los siguientes modelos admiten la fundamentación:

  • Gemini 1.5 Pro solo con entrada de texto
  • Gemini 1.5 Flash solo con entrada de texto
  • Gemini 1.0 Pro solo con entrada de texto

Requisitos previos

Hay requisitos previos necesarios para poder fundamentar el resultado del modelo en tus datos.

  1. Habilita Vertex AI Agent Builder y activa la API.
  2. Crea una fuente de datos y una app de Vertex AI Agent Builder.
  3. Vincula tu almacén de datos a tu app en Vertex AI Agent Builder. La fuente de datos sirve como base para fundamentar Gemini 1.0 Pro en Vertex AI.
  4. Habilita la edición Enterprise para tu almacén de datos.

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 fundamentar tus modelos en los datos de origen, debes preparar y guardar tus datos en Vertex AI Search. Para ello, debes crear un almacén de datos en Vertex AI Agent Builder.

Si comienzas desde cero, debes preparar los datos para la transferencia a Vertex AI Agent Builder. Consulta Prepara datos para la transferencia para comenzar. Según el tamaño de tus datos, la transferencia puede tardar varios minutos o varias horas. Solo se admiten almacenes de datos no estructurados para los fundamentos.

Una vez que hayas preparado tus datos para la transferencia, puedes crear un almacén de datos de búsqueda. Después de crear un almacén de datos de forma correcta, crea una app de búsqueda para vincularla y activa la edición Enterprise.

Ejemplo: Cómo conectar a tierra el modelo Gemini 1.5 Flash

Usa las siguientes instrucciones para fundamentar un modelo con tus propios 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.

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 la respuesta que se basa en la Búsqueda de Google

Cuando se genera un resultado basado en la ubicación, los metadatos contienen un URI que redirecciona al editor del contenido que se usó para generar el resultado basado en la ubicación. Los metadatos también contienen el dominio del publicador. Se puede acceder a los URIs proporcionados durante 30 días después de que se genera el resultado de la conexión a tierra.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.

import vertexai

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

# TODO (developer): update project_id
vertexai.init(project=PROJECT_ID, location="us-central1")

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

# TODO(developer): Update project id, location, and data store id for your Vertex AI Search data store.
# data_store_id = "DATA_STORE_ID"

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)

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 Generative AI Studio.

    Ir a Vertex AI Studio

  2. Haz clic en la pestaña Freeform.
  3. En el panel lateral, haz clic en el botón de activación Fundamentar las respuestas del modelo para habilitar la fundamentación.
  4. Haz clic en Personalizar y establece Vertex AI Agent Builder como la fuente. La ruta debe seguir el siguiente formato: projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.
  5. Ingresa el mensaje en el cuadro de texto y haz clic en Enviar.

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

Más recursos de IA generativa