Ancrage avec vos données

Cette page explique comment ancrer des réponses à l'aide de vos données provenant de Vertex AI 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 aux données de votre site Web ou à vos ensembles de documents, puis utilisez l'ancrage avec Vertex AI Search.

L'ancrage sur vos données est compatible avec un maximum de 10 sources de données Vertex AI 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

  2. Activez AI Applications et l'API.

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

Pour en savoir plus, consultez la Présentation de Vertex AI Search.

Activer AI Applications

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

    AI Applications

  2. Lisez et acceptez les conditions d'utilisation, puis cliquez sur Continuer et activer l'API.

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

  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 Vertex AI Studio dans la consoleGoogle Cloud , procédez comme suit :

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

    Accéder à la page "Forme libre"

  2. Pour activer l'ancrage, cliquez sur le bouton Ancrage : vos données.
  3. Cliquez sur Personnaliser.
    1. Sélectionnez Vertex AI Search comme source.
    2. En utilisant ce format de chemin d'accès, remplacez l'ID de projet de votre datastore et l'ID du datastore :

      projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id.

  4. Cliquez sur Enregistrer.
  5. Saisissez votre requête dans la zone de texte et cliquez sur Envoyer.

Vos réponses aux requêtes sont ancrées sur AI Applications.

Python

Avant d'essayer cet exemple, suivez les instructions de configuration pour Python décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

REST

Pour tester une requête textuelle à l'aide de l'API Vertex AI, 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.
  • PROJECT_ID : l'ID de votre projet.
  • MODEL_ID : ID du modèle multimodal.
  • TEXT : instructions textuelles à inclure dans la requête.

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": "TEXT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_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 la requête de votre modèle est correctement ancrée sur votre source de données Elasticsearch, les réponses incluent des métadonnées d'ancrage, qui identifient les parties de la réponse provenant de vos données Elasticsearch. Toutefois, il existe plusieurs raisons pour lesquelles ces métadonnées peuvent ne pas être fournies et la réponse de la requête ne sera pas ancrée. Ces raisons peuvent être une faible pertinence de la source ou des 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 Elasticsearch 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.

Étapes suivantes