Ancrage avec Agent Search

Cette page explique comment ancrer des réponses à l'aide de vos données provenant d'Agent Search.

Ancrer Gemini sur vos données

Si vous souhaitez effectuer une génération augmentée par récupération (RAG), connectez votre modèle à vos données de site Web ou à vos ensembles de documents, puis utilisez l'ancrage avec Agent Search.

L'ancrage sur vos données est compatible avec un maximum de 10 sources de données Agent Search et peut être combiné à l'ancrage avec la recherche Google.

Modèles compatibles

Cette section présente les modèles qui acceptent l'ancrage avec vos données.

Prérequis

Avant de pouvoir ancrer la sortie du modèle sur vos données, effectuez la procédure suivante :

  1. Dans la console Google Cloud , accédez à la page IAM et recherchez l'autorisation discoveryengine.servingConfigs.search, qui est requise pour que le service d'ancrage fonctionne.

    Accéder à IAM

    Pour obtenir les autorisations nécessaires pour utiliser l'ancrage avec Agent Search, demandez à votre administrateur de vous accorder les rôles IAM suivants :

    • Pour lire toutes les ressources Discovery Engine : Lecteur Discovery Engine (roles/discoveryengine.viewer).

    • Pour lire et écrire toutes les ressources Discovery Engine et créer une instance Agent Search : Éditeur Discovery Engine (roles/discoveryengine.editor).

    Pour en savoir plus sur IAM, consultez la page Rôles IAM et autorisations.

  2. Activez AI Applications et l'API.

  3. Créez une source de données AI Applications et une application.

    Pour en savoir plus, consultez Présentation d'Agent Search.

Activer les applications d'IA

Pour utiliser Agent Search afin d'ancrer vos réponses, vous devez activer le service Agent Search en procédant comme suit :

  1. Dans la Google Cloud console, accédez à la page Applications d'IA.

    Accéder à AI Applications

  2. Facultatif : Consultez les conditions d'utilisation des données.

AI Applications est disponible dans l'emplacement global ou dans les emplacements multirégionaux eu et us. Pour en savoir plus, consultez Emplacements AI Applications.

Créer un data store dans AI Applications

Pour créer un datastore dans AI Applications, vous pouvez choisir de l'ancrer avec des données de site Web ou des documents.

Site Web

  1. Ouvrez la page Créer un datastore dans la console Google Cloud .

  2. Dans la zone Contenu du site Web, cliquez sur Sélectionner.
    Le volet Spécifier les sites Web de votre datastore s'affiche.

  3. Si l'option Indexation avancée de sites Web n'est pas cochée, sélectionnez-la pour l'activer.
    Le volet Configurer votre datastore s'affiche.

  4. Dans la section Spécifier les formats d'URL à indexer, procédez comme suit :

    • Ajoutez les URL des sites à inclure.
    • Facultatif : Ajoutez les URL des sites à exclure.
  5. Cliquez sur Continuer.

  6. Dans le volet Configurer votre datastore :

    1. Sélectionnez une valeur dans la liste Emplacement de votre datastore.
    2. Saisissez un nom dans le champ Nom de votre datastore. L'ID est généré. Utilisez cet ID lorsque vous générez vos réponses ancrées avec votre datastore. Pour en savoir plus, consultez Générer des réponses ancrées avec votre datastore.
    3. Cliquez sur Créer.

Documents

  1. Ouvrez la page Créer un datastore dans la console Google Cloud .

  2. Dans la zone Cloud Storage, cliquez sur Sélectionner.
    Le volet Importer des données depuis Cloud Storage s'affiche.

  3. Dans la section Documents non structurés (PDF, HTML, TXT, etc.), sélectionnez Documents non structurés (PDF, HTML, TXT, etc.).

  4. Sélectionnez une option de fréquence de synchronisation.

  5. Sélectionnez l'option Sélectionner un dossier ou un fichier à importer, puis saisissez le chemin d'accès dans le champ.

  6. Cliquez sur Continuer.
    Le volet Configurer votre datastore s'affiche.

  7. Dans le volet Configurer votre datastore :

    1. Sélectionnez une valeur dans la liste Emplacement de votre datastore.
    2. Saisissez un nom dans le champ Nom de votre datastore. L'ID est généré.
    3. Pour sélectionner des options d'analyse et de segmentation pour vos documents, développez la section Options de traitement des documents. Pour en savoir plus sur les différents analyseurs, consultez la section Analyser des documents.
    4. Cliquez sur Créer.
  8. Cliquez sur Créer.

Générer des réponses ancrées avec votre datastore

Suivez les instructions ci-dessous pour ancrer un modèle avec vos données. Un maximum de 10 datastores est accepté.

Si vous ne connaissez pas votre ID de datastore, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page AI Applications et cliquez sur Datastores dans le menu de navigation.

    Accéder à la page "Datastores"

  2. Cliquez sur le nom de votre data store.

  3. Sur la page Données de votre datastore, obtenez l'ID du datastore.

Console

Pour ancrer la sortie de votre modèle sur AI Applications à l'aide de Gemini Enterprise Agent Platform Studio dans la Google Cloud console, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la Gemini Enterprise Agent Platform Studio page.

    Accéder à Gemini Enterprise Agent Platform Studio

  2. Pour activer l'ancrage, procédez comme suit :
    1. Dans le menu de navigation, cliquez sur + Nouveau , puis sur Chat.
    2. Développez le volet Paramètres du modèle, puis sélectionnez votre modèle.
    3. Facultatif : Si les boutons Sortie structurée ou Ancrage Google sont activés, désactivez l'option.
    4. Cliquez sur le bouton Ancrage : vos données. Le volet Personnaliser l'ancrage s'affiche.
      1. Sélectionnez une option de source d'ancrage dans le tableau suivant :
      2. Option d'ancrage Description Entrée
        Moteur Vertex AI RAG Ancre à l'aide de vos données et de composants DIY. Si vous ne disposez pas de corpus, vous devez en créer un. Sinon, saisissez votre corpus.
        Agent Search Ancre à l'aide de vos données avec un Google-moteur de recherche géré. Saisissez votre chemin d'accès dans le champ Chemin d'accès au datastore Gemini Enterprise Agent Platform.
        Elasticsearch Ancre à l'aide d'Elasticsearch. Saisissez les informations suivantes :
        1. Saisissez une valeur dans le champ Point de terminaison Elasticsearch.
        2. Saisissez une valeur dans le champ Clé API Elasticsearch.
        3. Saisissez une valeur dans le champ Index Elasticsearch.
        4. Saisissez une valeur dans le champ Modèle de recherche Elasticsearch.
      3. Cliquez sur Enregistrer.
  3. Saisissez votre prompt dans la zone de texte et cliquez sur Envoyer. Vos réponses aux requêtes sont ancrées sur AI Applications.

Python

Installer

pip install --upgrade google-genai

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

Définissez des 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,
    VertexAISearch,
    Retrieval,
    Tool,
    HttpOptions,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Replace with your Agent Search data store details
DATASTORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID"

tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            datastore=DATASTORE_PATH
        )
    )
)

response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)

print(response.text)

REST

Pour tester une requête de texte à l'aide de l'API Agent Platform, envoyez une requête POST au point de terminaison du modèle de l'éditeur.

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

  • LOCATION : région dans laquelle traiter la requête. Pour utiliser le global point de terminaison, excluez l'emplacement du nom du point de terminaison et configurez l'emplacement de la ressource sur global.
  • PROJECT_ID : votre [ID du projet](/resource-manager/docs/creating-managing-projects#identifiers). .
  • MODEL_ID : ID du modèle multimodal.
  • PROMPT : prompt à envoyer au modèle.

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID
      }
    }
  }],
  "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": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

Comprendre votre réponse

La réponse des deux API inclut le texte généré par le LLM, appelé candidat. Si le prompt de votre modèle est correctement ancré sur votre source de données, les réponses incluent des métadonnées d'ancrage, qui identifient les parties de la réponse provenant de vos données. Toutefois, il existe plusieurs raisons expliquant pourquoi il est possible que ces métadonnées ne soient pas fournies, et donc la réponse du prompt ne sera pas ancrée. Par exemple : faible pertinence de la source ou informations incomplètes dans la réponse du modèle.

Voici une répartition des données de sortie :

  • Rôle : indique l'expéditeur de la réponse ancrée. Étant donné que la réponse contient toujours du texte ancré, le rôle est toujours model.
  • Texte : réponse ancrée générée par le LLM.
  • Métadonnées d'ancrage : informations sur la source d'ancrage, qui contient les éléments suivants :
    • Segments d'ancrage : liste des résultats de votre index qui correspondent à la réponse.
    • Supports d'ancrage : informations sur une affirmation spécifique dans la réponse qui peuvent être utilisées pour afficher des citations :
    • Segment : partie de la réponse du modèle qui est étayée par un segment d'ancrage.
    • Index de segment d'ancrage : index des segments d'ancrage dans la liste des segments d'ancrage correspondant à cette affirmation.
    • Scores de confiance : nombre compris entre 0 et 1 qui indique le niveau d'ancrage de l'affirmation dans l'ensemble fourni de segments d'ancrage. Non disponible pour Gemini 2.5 et versions ultérieures.

Étape suivante