Grounding con la Ricerca Google

Questa pagina spiega come basare le risposte di un modello sulla Ricerca Google, che utilizza dati web disponibili pubblicamente. Inoltre, vengono spiegate le ricerche suggerite, che sono incluse nelle tue risposte.

Se vuoi connettere il tuo modello alla conoscenza del mondo, a un'ampia gamma possibile di argomenti o a informazioni aggiornate su internet, utilizza il grounding con la Ricerca Google.

Per scoprire di più sul grounding dei modelli in Vertex AI, consulta la Panoramica del grounding.

Modelli supportati

Questa sezione elenca i modelli che supportano il grounding con la Ricerca.

Lingue supportate

Per un elenco delle lingue supportate, consulta Lingue.

Segui queste istruzioni per basare un modello su dati web disponibili pubblicamente.

Considerazioni

  • Per utilizzare il grounding con la Ricerca Google, devi attivare i suggerimenti della Ricerca Google. Scopri di più su Utilizzare i suggerimenti della Ricerca Google.

  • Per risultati ottimali, utilizza una temperatura di 1.0. Per scoprire di più sull'impostazione di questa configurazione, consulta il corpo della richiesta dell'API Gemini nel riferimento del modello.

  • La funzionalità di grounding con la Ricerca Google ha un limite di un milione di query al giorno. Se hai bisogno di ulteriori query, contatta l'Google Cloud assistenza.

Console

Per utilizzare Grounding con la Ricerca Google con Vertex AI Studio, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Vertex AI Studio.

    Vai a Vertex AI Studio

  2. Fai clic sulla scheda Freeform.
  3. Nel riquadro laterale, fai clic sul pulsante di attivazione/disattivazione Risposte del modello di base.
  4. Fai clic su Personalizza e imposta la Ricerca Google come origine.
  5. Inserisci il prompt nella casella di testo e fai clic su Invia.

Le risposte rapide ora si basano sulla Ricerca Google.

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.0-flash-001"
	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
}

REST

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: La regione in cui elaborare la richiesta.
  • PROJECT_ID: il tuo ID progetto
  • MODEL_ID: l'ID modello del modello multimodale.
  • TEXT: Le istruzioni di testo da includere nel prompt.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

Corpo JSON della richiesta:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "googleSearch": {}
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "The weather in Chicago this weekend, will be partly cloudy. The temperature will be between 49°F (9°C) and 55°F (13°C) on Saturday and between 51°F (11°C) and 56°F (13°C) on Sunday. There is a slight chance of rain on both days.\n"
          }
        ]
      },
      "finishReason": "STOP",
      "groundingMetadata": {
        "webSearchQueries": [
          "weather in Chicago this weekend"
        ],
        "searchEntryPoint": {
          "renderedContent": "..."
        },
        "groundingChunks": [
          {
            "web": {
              "uri": "https://www.google.com/search?q=weather+in+Chicago,+IL",
              "title": "Weather information for locality: Chicago, administrative_area: IL",
              "domain": "google.com"
            }
          },
          {
            "web": {
              "uri": "...",
              "title": "weatherbug.com",
              "domain": "weatherbug.com"
            }
          }
        ],
        "groundingSupports": [
          {
            "segment": {
              "startIndex": 85,
              "endIndex": 214,
              "text": "The temperature will be between 49°F (9°C) and 55°F (13°C) on Saturday and between 51°F (11°C) and 56°F (13°C) on Sunday."
            },
            "groundingChunkIndices": [
              0
            ],
            "confidenceScores": [
              0.8662828
            ]
          },
          {
            "segment": {
              "startIndex": 215,
              "endIndex": 261,
              "text": "There is a slight chance of rain on both days."
            },
            "groundingChunkIndices": [
              1,
              0
            ],
            "confidenceScores": [
              0.62836814,
              0.6488607
            ]
          }
        ],
        "retrievalMetadata": {}
      }
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 98,
    "totalTokenCount": 108,
    "trafficType": "ON_DEMAND",
    "promptTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 10
      }
    ],
    "candidatesTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 98
      }
    ]
  },
  "modelVersion": "gemini-2.0-flash",
  "createTime": "2025-05-19T14:42:55.000643Z",
  "responseId": "b0MraIMFoqnf-Q-D66G4BQ"
}

Comprendere la risposta

Se il prompt del modello si basa correttamente sulla Ricerca Google da Vertex AI Studio o dall'API, le risposte includono metadati con link alle fonti (URL web). Tuttavia, esistono diversi motivi per cui questi metadati potrebbero non essere forniti e la risposta del prompt non sarà basata su dati reali. Questi motivi includono una bassa pertinenza della fonte o informazioni incomplete nella risposta del modello.

Supporto per il grounding

È consigliabile visualizzare il supporto della base, perché ti aiuta a convalidare le risposte degli editori e aggiunge modi per approfondire l'argomento.

Il supporto di grounding per le risposte provenienti dalle fonti della Ricerca Google deve essere mostrato sia inline che in forma aggregata. Ad esempio, guarda l'immagine che segue per un suggerimento su come farlo.

Esempi di supporto del grounding

Utilizzo di opzioni alternative per i motori di ricerca

Quando utilizzi il Grounding con la Ricerca Google, un'applicazione cliente può:

  • Offrire opzioni di motori di ricerca alternativi,
  • Impostare altri motori di ricerca come opzione predefinita.
  • Mostrare i propri suggerimenti di ricerca o risultati di ricerca o quelli di terze parti, a condizione che: tutti i risultati non Google vengano visualizzati separatamente dai risultati fondati e dai suggerimenti di ricerca di Google e vengano mostrati in modo da non confondere gli utenti o suggerire che provengano da Google.

Vantaggi

I seguenti prompt e flussi di lavoro complessi che richiedono pianificazione, ragionamento e pensiero possono essere eseguiti quando utilizzi la Ricerca Google come strumento:

  • Puoi utilizzare la base per assicurarti che le risposte si basino sulle informazioni più recenti e accurate.
  • Puoi recuperare artefatti dal web per eseguire l'analisi.
  • Puoi trovare immagini, video o altri contenuti multimediali pertinenti per aiutarti nel ragionamento multimodale o nella generazione di attività.
  • Puoi eseguire attività di programmazione, risoluzione dei problemi tecnici e altre attività specializzate.
  • Puoi trovare informazioni specifiche per regione o contribuire a tradurre i contenuti in modo accurato.
  • Puoi trovare siti web pertinenti da esplorare.

Utilizzare i suggerimenti di Ricerca Google

Quando utilizzi il grounding con la Ricerca Google e ricevi suggerimenti di ricerca nella risposta, devi visualizzarli in produzione e nelle tue applicazioni.

Per saperne di più sul grounding con la Ricerca Google, consulta Grounding con la Ricerca Google.

In particolare, devi mostrare le query di ricerca incluse nei metadati della risposta basata su fonti. La risposta include:

  • "content": risposta generata tramite LLM.
  • "webSearchQueries": le query da utilizzare per i suggerimenti per la ricerca.

Ad esempio, nel seguente snippet di codice, Gemini risponde a un prompt di ricerca basato su dati reali, che chiede informazioni su un tipo di pianta tropicale.

"predictions": [
  {
    "content": "Monstera is a type of vine that thrives in bright indirect light…",
    "groundingMetadata": {
      "webSearchQueries": ["What's a monstera?"],
    }
  }
]

Puoi prendere questo output e visualizzarlo utilizzando i suggerimenti della ricerca.

Requisiti per i suggerimenti di ricerca

Di seguito sono riportati i requisiti per i suggerimenti:

Requisito Descrizione
Azioni consigliate
  • Nel rispetto dei requisiti di visualizzazione, il suggerimento di ricerca viene visualizzato esattamente come fornito, senza alcuna modifica.
  • Quando interagisci con il suggerimento di ricerca, viene visualizzata direttamente la pagina dei risultati di ricerca.
Cosa non fare
  • Includi eventuali schermate o passaggi aggiuntivi tra il tocco dell'utente e la visualizzazione della pagina dei risultati di ricerca.
  • Visualizza altri risultati di ricerca o suggerimenti accanto al suggerimento di ricerca o alla risposta LLM fondata associata.

Requisiti di visualizzazione

Di seguito sono riportati i requisiti di visualizzazione:

  • Mostra il suggerimento di ricerca esattamente come fornito e non apportare modifiche a colori, caratteri o aspetto. Assicurati che il suggerimento di ricerca venga visualizzato come specificato nei seguenti mockup, ad esempio la modalità Chiaro e la modalità Buio:

  • Ogni volta che viene mostrata una risposta basata su dati reali, il suggerimento di ricerca corrispondente deve rimanere visibile.
  • Per il branding, devi seguire rigorosamente le linee guida di Google per l'utilizzo da parte di terze parti degli elementi distintivi del brand Google, disponibili nel Centro risorse per il brand.
  • Quando utilizzi il grounding con la Ricerca, vengono visualizzati i chip dei suggerimenti di ricerca. Il campo che contiene i chip di suggerimento deve avere la stessa larghezza della risposta fondata dell'LLM.

Comportamento con un tocco

Quando un utente tocca il chip, viene indirizzato direttamente a una pagina dei risultati di ricerca (SRP) per il termine di ricerca visualizzato nel chip. La pagina dei risultati di ricerca può aprirsi all'interno del browser dell'applicazione o in un'applicazione browser separata. È importante non ridurre a icona, rimuovere o ostacolare in alcun modo la visualizzazione della pagina dei risultati di ricerca. Il seguente mockup animato illustra l'interazione tocca e vai alla pagina dei risultati di ricerca.

app/desktop example

Codice per implementare un suggerimento di ricerca

Quando utilizzi l'API per basare una risposta sulla ricerca, la risposta del modello fornisce uno stile HTML e CSS conforme nel campo renderedContent, che implementi per visualizzare i suggerimenti di ricerca nella tua applicazione. Per visualizzare un esempio di risposta dell'API, consulta la sezione relativa alla risposta in Grounding con la Ricerca.

Passaggi successivi