Fundamentos

En la IA generativa, los fundamentos son la capacidad de conectar el resultado del modelo con fuentes de información verificables. Si proporcionas modelos con acceso a fuentes de datos específicas, los fundamentos conectan su resultado a estos datos y reducen las posibilidades de inventar contenido.

Con Vertex AI, puedes fundamentar los resultados del modelo de las siguientes maneras:

  • Fundamentación con la Búsqueda de Google: Fundamenta un modelo con datos web disponibles a nivel público.
  • Fundamentación 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 la fundamentación, consulta Descripción general de la fundamentación.

Modelos compatibles

Lista de parámetros

Consulta ejemplos para obtener detalles sobre la implementación.

GoogleSearchRetrieval

Fundamentar la respuesta con datos públicos

Parámetros

google_search_retrieval

Obligatorio: Object

Fundamenta con 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 conocimiento externo.

Parámetros

source

Obligatorio: VertexAISearch

Fundamenta con fuentes de datos de Vertex AI Search.

VertexAISearch

Parámetros

datastore

Obligatorio: string

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

Ejemplos

Fundamenta la respuesta en datos web públicos con la Búsqueda de Google

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

Python

Instalar

pip install --upgrade google-genai

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

Establece 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

Obtén más información para instalar o actualizar Go.

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

Establece 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
}

Fundamenta la respuesta 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 app de búsqueda.

ADVERTENCIA: Por el momento, esta interfaz de "fundamentación" no admite el "modo de fragmentos" 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...'

¿Qué sigue?

Para obtener documentación detallada, consulta lo siguiente: