API d'ancrage

Dans le contexte de l'IA générative, l'ancrage désigne la capacité à connecter les résultats du modèle à des sources d'informations vérifiables. Si vous autorisez des modèles à accéder à des sources de données spécifiques, l'ancrage lie leurs résultats à ces données et réduit les chances d'inventer du contenu.

Avec Vertex AI, vous pouvez ancrer les résultats de votre modèle de différentes manières :

  • Ancrer avec la recherche Google : ancrez un modèle avec des données Web accessibles au public.
  • Selon Google Maps : ancrez un modèle avec des données géospatiales provenant de Google Maps.
  • Selon vos données : ancrez un modèle avec vos données de Vertex AI Search en tant que data store.

Pour en savoir plus sur l'ancrage, consultez Présentation de l'ancrage.

Modèles compatibles

Liste des paramètres

Consultez des exemples pour en savoir plus sur l'implémentation.

googleSearch

Ancrer la réponse avec des données Web accessibles au public provenant de la recherche Google.

googleMaps

Ancre la réponse avec des données géospatiales accessibles au public provenant de Google Maps.

L'entrée de l'API inclut le paramètre suivant :

Paramètre d'entrée

enable_widget

Obligatoire : boolean

Indicateur pouvant être défini sur true ou false. Une valeur de true renvoie un jeton à l'aide de la réponse de l'API que vous pouvez utiliser avec l'interface utilisateur du widget de contexte Google Maps.

La structure de la réponse de l'API inclut le paramètre suivant :

Paramètre de réponse

grounding_metadata

Obligatoire : Object

Champ principal contenant des informations d'ancrage.

  • grounding_support : sous-champ indiquant le niveau de prise en compte de l'ancrage.
  • grounding_chunks.maps : sous-champ contenant les sources de lieux utilisées pour générer la réponse ancrée.
    • place_answer_sources.review_snippets : sous-champ de grounding_chunks.maps qui s'affiche lorsqu'une réponse de lieu est utilisée pour répondre à une requête. Les réponses sur les lieux fournissent des informations contextuelles plus approfondies sur un lieu spécifique à l'aide de données telles que les avis des utilisateurs. La réponse sur un lieu est basée sur une liste de sources, comme les avis des utilisateurs.

Attributs

Une source d'avis sur un lieu ou un utilisateur possède les attributs suivants :

Attributs

title

Obligatoire : Object

Titre de la source.

uri

Obligatoire : string

URI renvoyant à la source.

place_id

Obligatoire : string

Identifiant unique du lieu.

review_id

Obligatoire : string

Identifiant unique de l'avis.

retrieval

Ancrer la réponse avec des données privées de Vertex AI Search en tant que datastore. Définit un outil de récupération que le modèle peut appeler pour accéder à des connaissances externes.

Paramètres

vertexAiSearch

Obligatoire : VertexAISearch

Ancrer avec des sources de données de Vertex AI Search.

VertexAISearch

Paramètres

datastore

Obligatoire : string

ID de ressource de data store complet de Vertex AI Search, au format suivant : projects/{project}/locations/{location}/collections/default_collection/dataStores/{datastore}

Exemples

Cette section fournit des exemples d'ancrage d'une réponse sur des données Web publiques à l'aide de la recherche Google et d'ancrage d'une réponse sur des données privées à l'aide de Vertex AI Search.

Ancrer la réponse avec des données Web publiques à l'aide de la recherche Google

Ancrez la réponse avec les données publiques de la recherche Google. Incluez l'outil google_search_retrieval dans la requête. Aucun paramètre supplémentaire n'est requis.

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

Ancrer la réponse avec des données privées à l'aide de Vertex AI Search

Ancrez la réponse avec des données provenant d'un datastore Vertex AI Search. Pour en savoir plus, consultez AI Applications.

Avant d'ancrer une réponse avec des données privées, créez un datastore et une application de recherche.

AVERTISSEMENT : Cette interface d'"ancrage" n'est actuellement pas compatible avec le "mode de fragmentation" de Vertex AI Search.

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

Étape suivante

Pour obtenir une documentation détaillée, consultez :