Grounding

Nell'AI generativa, il grounding è la capacità di collegare l'output del modello a fonti di informazione verificabili. Se fornisci ai modelli l'accesso a origini dati specifiche, il grounding vincola l'output a questi dati e riduce le possibilità di inventare contenuti.

Con Vertex AI, puoi basare gli output del modello nei seguenti modi:

  • Grounding con la Ricerca Google: esegui il grounding di un modello con dati web disponibili pubblicamente.
  • Eseguire il grounding con i tuoi dati: esegui il grounding di un modello con i tuoi dati da Vertex AI Search come datastore.

Per saperne di più sul grounding, consulta la panoramica del grounding.

Modelli supportati

Elenco dei parametri

Per informazioni dettagliate sull'implementazione, consulta gli esempi.

GoogleSearchRetrieval

Basare la risposta su dati pubblici.

Parametri

google_search_retrieval

Obbligatorio: Object

Base con dati web disponibili pubblicamente.

Retrieval

Esegui il grounding della risposta con dati privati di Vertex AI Search come datastore. Definisce uno strumento di recupero che il modello può chiamare per accedere a conoscenze esterne.

Parametri

source

Obbligatorio: VertexAISearch

Esegui il grounding con le origini dati di Vertex AI Search.

VertexAISearch

Parametri

datastore

Obbligatorio: string

ID risorsa datastore completo di Vertex AI Search, nel seguente formato: projects/{project}/locations/{location}/collections/default_collection/dataStores/{datastore}

Esempi

Basare la risposta sui dati web pubblici utilizzando la Ricerca Google

Basare la risposta sui dati pubblici della Ricerca Google. Includi lo strumento google_search_retrieval nella richiesta. Non sono richiesti parametri aggiuntivi.

Python

Installa

pip install --upgrade google-genai

Per saperne di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI 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

Scopri come installare o aggiornare Go.

Per saperne di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI 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
}

Risposta basata su dati privati utilizzando Vertex AI Search

Esegui il grounding della risposta con i dati di un datastore Vertex AI Search. Per saperne di più, consulta Applicazioni AI.

Prima di basare una risposta su dati privati, crea un datastore e un'app di ricerca.

AVVISO: per il momento, questa interfaccia di "grounding" non supporta la "modalità chunk" di Vertex AI Search.

SDK Gen AI per 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...'

Passaggi successivi

Per la documentazione dettagliata, consulta quanto segue: