Respuestas fundamentales para los modelos de Gemini

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 un punto de entrada de la Búsqueda de Google cuando usas esta función. Para obtener más información sobre los requisitos, consulta Punto de entrada 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.0 Pro solo con entrada de texto

Idiomas compatibles

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

Si usas Grounding with Google Search, te sugerimos que uses 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.

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 http://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 Multimodal.
  3. Haz clic en Abrir para ver la página del diseño de mensaje único.
  4. En el panel lateral, haz clic en Avanzado para ver la configuración avanzada.
  5. Haz clic en el botón de activación Habilitar fundamentación.
  6. Haz clic en Personalizar y establece la Búsqueda de Google como la fuente.
  7. Ingresa el mensaje en el cuadro de texto y haz clic en Enviar.

Las respuestas de tus mensajes 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.preview.generative_models import grounding
from vertexai.generative_models import GenerationConfig, GenerativeModel, Tool

# TODO(developer): Update and un-comment below line
# project_id = "PROJECT_ID"

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

model = GenerativeModel(model_name="gemini-1.0-pro-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)

Comprende tu respuesta

Si la solicitud de tu modelo fundamenta correctamente la Búsqueda de Google desde Generative AI Studio o desde la API, las respuestas incluyen metadatos con vínculos de fuente (URLs web). Sin embargo, existen varias razones por las que es posible que estos metadatos no se proporcionen y la respuesta de la solicitud no se basará. Estos motivos incluyen una relevancia baja de la fuente o información incompleta dentro de la respuesta del modelo.

Citas

Se recomienda mostrar citas. Ayudan a los usuarios a validar respuestas de los publicadores y agregan medios para aprender más.

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 sobre cómo 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 los puntos de entrada de la búsqueda y no se pueden atribuir ni confundir con los resultados proporcionados por Google.

Fundamenta Gemini a tus datos

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

Los siguientes modelos admiten la fundamentación:

  • Gemini 1.0 Pro

Hay requisitos previos necesarios para poder fundamentar Gemini 1.0 Pro.

  1. Habilita Vertex AI Search y activa la API.
  2. Crea una fuente de datos y una app de Vertex AI Search.
  3. Vincula tu almacén de datos a tu app en Vertex AI Search. 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 Search

  1. En la consola de Google Cloud, ve a la página Search & Conversation.

    Search & Conversation

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

Vertex AI Search 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 Search.

Crea un almacén de datos en Vertex AI Search

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 Search.

Si comienzas desde cero, debes preparar los datos para la transferencia a Vertex AI Search. 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.

Fundamenta el modelo Gemini 1.0 Pro

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 Search y, en el menú de navegación, haz clic en Almacenes de datos. <a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="BU2UnTd/bvXw0I31NoHStFtigmNHgUGOXn/QVSGplOhB4J1rwNxdLslXsSNCBkPOFvWIDj0tv6yobddHSWXSow==" target="console" track-name="consoleLink" track-type="tasks" }="">Go to the Data stores page</a{:>
  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 http://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 http://dmv.gov/"
           }
         ]
       },
       "finishReason": "STOP",
       "safetyRatings":[
       "..."
    ],
       "groundingMetadata": {
         "retrievalQueries": [
           "How to make appointment to renew driving license?"
         ]
       }
     }
   ],
   "usageMetadata": { "..."
   }
 }

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 grounding
from vertexai.generative_models import GenerationConfig, GenerativeModel, Tool

# TODO(developer): Update and un-comment below line
# project_id = "PROJECT_ID"

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

model = GenerativeModel(model_name="gemini-1.0-pro-002")

# Use Vertex AI Search data store
# Format: projects/{project_id}/locations/{location}/collections/default_collection/dataStores/{data_store_id}
tool = Tool.from_retrieval(
    grounding.Retrieval(grounding.VertexAISearch(datastore=data_store_path))
)

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)

Console

Para fundamentar el resultado de tu modelo en Vertex AI Search 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 Idioma.
  3. Haz clic en Instrucción de texto para ver la página de diseño de un solo mensaje.
  4. En el panel lateral, haz clic en Avanzado para ver la configuración avanzada.
  5. Haz clic en el botón de activación Habilitar fundamentación para habilitarla.
  6. Haz clic en Personalizar y establece Vertex AI Search como la fuente. La ruta de acceso debe tener el siguiente formato: projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.
  7. Ingresa el mensaje en el cuadro de texto y haz clic en Enviar.

Tus respuestas de instrucciones ahora se basan en Vertex AI Search.

¿Qué sigue?