Fundamentación

En la IA generativa, la fundamentación es la capacidad de conectar la salida de un modelo con fuentes de información verificables. Si proporcionas a los modelos acceso a fuentes de datos específicas, la fundamentación vinculará su salida a estos datos y reducirá las probabilidades de que inventen contenido.

Con Vertex AI, puedes fundamentar las salidas de los modelos de las siguientes formas:

  • Basar en la Búsqueda de Google: basa un modelo en datos web disponibles públicamente.
  • Fundamentar con tus propios datos: fundamenta un modelo con tus propios datos de Vertex AI Search como almacén de datos.

Para obtener más información sobre el grounding, consulta el artículo de introducción al grounding.

Modelos admitidos

Lista de parámetros

Consulta los ejemplos para obtener más información sobre la implementación.

GoogleSearchRetrieval

Fundamenta la respuesta con datos públicos.

Parámetros

google_search_retrieval

Obligatorio: Object

Se basa en datos web disponibles públicamente.

Retrieval

Fundamenta la respuesta con datos privados de Vertex AI Search como almacén de datos. Define una herramienta de recuperación a la que el modelo puede llamar para acceder a conocimientos externos.

Parámetros

source

Obligatorio: VertexAISearch

Se basa en fuentes de datos de Vertex AI Search.

VertexAISearch

Parámetros

datastore

Obligatorio: string

ID de recurso de almacén de datos completo de Vertex AI Search, con el siguiente formato: projects/{project}/locations/{location}/collections/default_collection/dataStores/{datastore}

Ejemplos

Basar las respuestas en datos de la Web pública mediante la Búsqueda de Google

Basar la respuesta en datos públicos de la Búsqueda de Google. Incluye la herramienta google_search_retrieval en la solicitud. No se necesitan parámetros adicionales.

Python

Instalar

pip install --upgrade google-genai

Para obtener más información, consulta la documentación de referencia del SDK.

Define variables de entorno para usar el SDK de IA generativa con 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=global
export GOOGLE_GENAI_USE_VERTEXAI=True

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

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

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[
            # Use Google Search Tool
            Tool(google_search=GoogleSearch())
        ],
    ),
)

print(response.text)
# Example response:
# 'The next total solar eclipse in the United States will occur on ...'

Go

Consulta cómo instalar o actualizar Go.

Para obtener más información, consulta la documentación de referencia del SDK.

Define variables de entorno para usar el SDK de IA generativa con 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=global
export GOOGLE_GENAI_USE_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithGoogleSearch shows how to generate text using Google Search.
func generateWithGoogleSearch(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "When is the next total solar eclipse in the United States?"},
		},
			Role: "user"},
	}
	config := &genai.GenerateContentConfig{
		Tools: []*genai.Tool{
			{GoogleSearch: &genai.GoogleSearch{}},
		},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// The next total solar eclipse in the United States will occur on March 30, 2033, but it will only ...

	return nil
}

Fundamentar las respuestas en datos privados con Vertex AI Search

Fundamenta la respuesta con datos de un almacén de datos de Vertex AI Search. Para obtener más información, consulta Aplicaciones de IA.

Antes de fundamentar una respuesta con datos privados, crea un almacén de datos y una aplicación de búsqueda.

ADVERTENCIA: Por el momento, esta interfaz de fundamentación no admite el modo de fragmentación de Vertex AI Search.

SDK de IA generativa para Python

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

Siguientes pasos

Para obtener documentación detallada, consulta lo siguiente: