Surface de référence

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 :

  • Selon la recherche Google : ancrez un modèle avec des données Web accessibles au public.
  • Selon vos propres données : ancrez un modèle avec vos propres 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.

GoogleSearchRetrieval

Ancrer la réponse avec des données publiques.

Paramètres

google_search_retrieval

Obligatoire : Object

Ancrer avec des données Web accessibles au public.

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

source

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

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 :