Ancrage avec la recherche Google

Cette page explique comment ancrer les réponses d'un modèle à l'aide de la recherche Google, qui utilise des données Web accessibles au public. Les suggestions de recherche incluses dans vos réponses sont également expliquées.

Si vous souhaitez associer votre modèle à des connaissances du monde entier, à un large éventail de sujets possibles ou à des informations à jour disponibles sur Internet, utilisez l'ancrage avec la recherche Google.

Pour en savoir plus sur l'ancrage des modèles dans Vertex AI, consultez Présentation de l'ancrage.

Modèles compatibles

Cette section liste les modèles compatibles avec l'ancrage avec la recherche.

Langues disponibles

Pour obtenir la liste des langues disponibles, consultez Langues.

Suivez les instructions ci-dessous pour ancrer un modèle avec des données Web accessibles au public.

Remarques

  • Pour utiliser l'ancrage avec la recherche Google, vous devez activer les suggestions de recherche Google. Pour en savoir plus, consultez Utiliser les suggestions de recherche Google.

  • Pour obtenir des résultats optimaux, utilisez une température de 1.0. Pour en savoir plus sur la définition de cette configuration, consultez le corps de la requête API Gemini dans la documentation de référence du modèle.

  • L'ancrage avec la recherche Google est limité à un million de requêtes par jour. Si vous avez besoin de plus de requêtes, contactez l'assistanceGoogle Cloud pour obtenir de l'aide.

Console

Pour utiliser l'ancrage avec la recherche Google avec Vertex AI Studio, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Cliquez sur l'onglet Forme libre.
  3. Dans le panneau latéral, cliquez sur le bouton d'activation Ancrer des réponses de modèle.
  4. Cliquez sur Personnaliser et définissez la recherche Google comme source.
  5. Saisissez votre requête dans la zone de texte et cliquez sur Envoyer.

Les réponses données à vos requêtes sont désormais basées sur la recherche Google.

Python

Installer

pip install --upgrade google-genai

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez les variables d'environnement pour utiliser le SDK Gen AI avec 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

Découvrez comment installer ou mettre à jour le Go.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez les variables d'environnement pour utiliser le SDK Gen AI avec 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

Avant d'utiliser des données de requête, effectuez les remplacements suivants :

  • LOCATION : région dans laquelle traiter la requête.
  • PROJECT_ID : l'ID de votre projet.
  • MODEL_ID : l'ID du modèle multimodal.
  • TEXT : instructions textuelles à inclure dans la requête.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}

Comprendre votre réponse

Si la requête de votre modèle est correctement ancrée dans la recherche Google depuis Vertex AI Studio ou depuis l'API, les réponses incluent des métadonnées avec des liens sources (URL Web). Toutefois, il existe plusieurs raisons expliquant pourquoi il est possible que ces métadonnées ne soient pas fournies, et donc la réponse de la requête ne sera pas ancrée. Par exemple : faible pertinence de la source ou informations incomplètes dans la réponse du modèle.

Support d'ancrage

Il est recommandé d'afficher un support d'ancrage, car cela vous aide à valider les réponses des éditeurs et vous permet d'apprendre davantage.

Le support d'ancrage des réponses provenant de sources de la recherche Google doit être affiché à la fois de manière intégrée et globale. Par exemple, consultez l'image suivante pour savoir comment procéder.

Exemples de support d'ancrage

Utilisation d'options de moteur de recherche alternatives

Lorsqu'une application cliente utilise l'ancrage dans la recherche Google, elle peut :

  • Proposer d'autres options de moteur de recherche
  • définir d'autres moteurs de recherche comme option par défaut ;
  • afficher leurs propres suggestions ou résultats de recherche, ou ceux de tiers, à condition que les résultats non Google soient affichés séparément des résultats ancrés et des suggestions de recherche de Google, et de manière à ne pas induire les utilisateurs en erreur ni à leur faire croire qu'ils proviennent de Google.

Avantages

Les requêtes et les workflows complexes suivants, qui nécessitent de la planification, du raisonnement et de la réflexion, sont possibles lorsque vous utilisez la recherche Google comme outil :

  • Vous pouvez utiliser l'ancrage pour vous assurer que les réponses sont basées sur les informations les plus récentes et les plus précises.
  • Vous pouvez récupérer des artefacts sur le Web pour effectuer une analyse.
  • Vous pouvez trouver des images, des vidéos ou d'autres contenus multimédias pertinents pour faciliter le raisonnement multimodal ou la génération de tâches.
  • Vous pouvez coder, résoudre des problèmes techniques et effectuer d'autres tâches spécialisées.
  • Vous pouvez trouver des informations spécifiques à une région ou aider à traduire du contenu avec précision.
  • Vous pouvez trouver des sites Web pertinents à consulter.

Utiliser les suggestions de recherche Google

Lorsque vous utilisez l'ancrage avec la recherche Google et que vous recevez des suggestions de recherche dans votre réponse, vous devez afficher les suggestions de recherche en production et dans vos applications.

Pour en savoir plus sur l'ancrage avec la recherche Google, consultez Ancrer avec la recherche Google.

Plus précisément, vous devez afficher les requêtes de recherche incluses dans les métadonnées de la réponse ancrée. La réponse inclut :

  • "content" : réponse générée par le LLM.
  • "webSearchQueries" : requêtes à utiliser pour les suggestions de recherche.

Par exemple, dans l'extrait de code suivant, Gemini répond à une requête ancrée avec la recherche Google qui pose une question sur un type de plante tropicale.

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

Vous pouvez récupérer ce résultat et l'afficher à l'aide des suggestions de recherche.

Conditions requises pour les suggestions de recherche

Voici les exigences concernant les suggestions :

Exigence Description
À faire
  • Tout en respectant les exigences d'affichage, la suggestion de recherche est affichée exactement telle qu'elle est fournie, sans aucune modification.
  • Lorsque vous interagissez avec la suggestion de recherche, vous êtes redirigé directement vers la page de résultats de recherche (SRP).
Ce qu'il ne faut pas faire
  • Incluez tous les écrans ou étapes supplémentaires entre le clic de l'utilisateur et l'affichage de la SRP.
  • Afficher d'autres résultats de recherche ou suggestions à côté de la suggestion de recherche ou de la réponse LLM avec ancrage associée.

Conditions requises pour l'affichage

Voici les exigences d'affichage :

  • Affichez la suggestion de recherche exactement telle qu'elle est fournie, et n'apportez aucune modification aux couleurs, aux polices ni à l'apparence. Assurez-vous que la suggestion de recherche s'affiche comme spécifié dans les exemples suivants, y compris pour les modes clair et sombre :

  • Chaque fois qu'une réponse avec ancrage est affichée, sa suggestion de recherche correspondante doit rester visible.
  • Pour la marque, vous devez strictement respecter les consignes de Google concernant l'utilisation par les tiers des caractéristiques de la marque Google, disponibles dans le Centre de ressources pour la marque.
  • Lorsque vous utilisez l'ancrage avec la recherche, des chips de suggestions de recherche s'affichent. Le champ contenant les chips de suggestions doit avoir la même largeur que la réponse ancrée du LLM.

Comportement au moment du clic

Lorsqu'un utilisateur appuie sur le chip, il est directement redirigé vers une page de résultats de recherche (SRP) pour le terme de recherche affiché dans le chip. La page de résultats du moteur de recherche peut s'ouvrir dans le navigateur intégré à votre application ou dans une application de navigateur distincte. Il est important de ne pas minimiser, supprimer ni masquer l'affichage du SRP. L'exemple animé suivant illustre l'interaction de type "tap-to-SRP" (clic vers SRP).

Exemple pour les applications/ordinateurs de bureau

Code permettant d'implémenter une suggestion de recherche

Lorsque vous utilisez l'API pour ancrer une réponse à la recherche, la réponse du modèle fournit un style HTML et CSS conforme dans le champ renderedContent, que vous implémentez pour afficher les suggestions de recherche dans votre application. Pour voir un exemple de réponse de l'API, consultez la section "Réponse" de l'article Ancrage avec la recherche.

Étapes suivantes