Convalida con Vertex AI Search

Questa pagina spiega come basare le risposte sui tuoi dati di Vertex AI Search.

Grounding di Gemini sui tuoi dati

Se vuoi eseguire la Retrieval-Augmented Generation (RAG), collega il modello ai dati del tuo sito web o ai tuoi set di documenti, poi utilizza Grounding con Vertex AI Search.

Il grounding con i tuoi dati supporta un massimo di 10 origini dati Vertex AI Search e può essere combinato con il grounding con la Ricerca Google.

Modelli supportati

Questa sezione elenca i modelli che supportano la fondatezza con i tuoi dati.

Prerequisiti

Prima di poter basare l'output del modello sui tuoi dati, procedi nel seguente modo:

  1. Nella console Google Cloud , vai alla pagina IAM e cerca l'autorizzazione discoveryengine.servingConfigs.search, necessaria per il funzionamento del servizio di grounding.

    Vai a IAM

  2. Abilita AI Applications e attiva l'API.

  3. Crea un'origine dati AI Applications e un'applicazione.

Per saperne di più, consulta la Introduzione a Vertex AI Search.

Attivare AI Applications

  1. Nella Google Cloud console, vai alla pagina AI Applications.

    Applicazioni di AI

  2. Leggi e accetta i Termini di servizio, quindi fai clic su Continua e attiva l'API.

AI Applications è disponibile nella località global o nelle multiregioni eu e us. Per scoprire di più, consulta Località di AI Applications.

Crea un datastore in AI Applications

Per creare un datastore in AI Applications, puoi scegliere di basarti su dati di siti web o documenti.

Sito web

  1. Apri la pagina Crea datastore dalla console Google Cloud .

  2. Nella casella Contenuto del sito web, fai clic su Seleziona.
    Viene visualizzato il riquadro Specifica i siti web per il datastore.

  3. Se l'opzione Indicizzazione avanzata dei siti web non è selezionata, seleziona la casella di controllo Indicizzazione avanzata dei siti web per attivarla.
    Viene visualizzato il riquadro Configura il datastore.

  4. Nella sezione Specifica i pattern URL da indicizzare, segui questi passaggi:

    • Aggiungi gli URL per i siti da includere.
    • (Facoltativo) Aggiungi URL per i siti da escludere.
  5. Fai clic su Continua.

  6. Nel riquadro Configura il datastore:

    1. Seleziona un valore dall'elenco Posizione del datastore.
    2. Inserisci un nome nel campo Nome del datastore. L'ID viene generato. Utilizza questo ID quando generi le risposte basate sul tuo datastore. Per maggiori informazioni, consulta Generare risposte basate sul datastore.
    3. Fai clic su Crea.

Documenti

  1. Apri la pagina Crea datastore dalla console Google Cloud .

  2. Nella casella Cloud Storage, fai clic su Seleziona.
    Viene visualizzato il riquadro Importa dati da Cloud Storage.

  3. Nella sezione Documenti non strutturati (PDF, HTML, TXT e altro), seleziona Documenti non strutturati (PDF, HTML, TXT e altro).

  4. Seleziona un'opzione per la Frequenza della sincronizzazione.

  5. Seleziona un'opzione Seleziona una cartella o un file da importare e inserisci il percorso nel campo.

  6. Fai clic su Continua.
    Viene visualizzato il riquadro Configura il datastore.

  7. Nel riquadro Configura il datastore:

    1. Seleziona un valore dall'elenco Posizione del datastore.
    2. Inserisci un nome nel campo Nome del datastore. L'ID viene generato.
    3. Per selezionare le opzioni di analisi e suddivisione in blocchi per i tuoi documenti, espandi la sezione Opzioni di elaborazione documenti. Per saperne di più sui diversi parser, consulta Analizzare i documenti.
    4. Fai clic su Crea.
  8. Fai clic su Crea.

Generare risposte basate sul datastore

Segui le istruzioni riportate di seguito per basare un modello sui tuoi dati. È supportato un massimo di 10 data store.

Se non conosci l'ID datastore, segui questi passaggi:

  1. Nella Google Cloud console, vai alla pagina AI Applications e nel menu di navigazione, fai clic su Datastore.

    Vai alla pagina Datastore

  2. Fai clic sul nome del tuo datastore.

  3. Nella pagina Dati del datastore, recupera l'ID datastore.

Console

Per basare l'output del modello su AI Applications utilizzando Vertex AI Studio nella consoleGoogle Cloud , segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Vertex AI Studio Freeform.

    Vai a In formato libero

  2. Per attivare il grounding, fai clic sul pulsante di attivazione/disattivazione Grounding: i tuoi dati.
  3. Fai clic su Personalizza.
    1. Seleziona Vertex AI Search come origine.
    2. Utilizzando questo formato del percorso, sostituisci l'ID progetto del datastore e l'ID del datastore:

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

  4. Fai clic su Salva.
  5. Inserisci il prompt nella casella di testo e fai clic su Invia.

Le risposte ai prompt sono basate sulle applicazioni di AI.

Python

Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vertex AI Python.

Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

REST

Per testare un prompt di testo utilizzando l'API Vertex AI, invia una richiesta POST all'endpoint del modello del publisher.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la regione in cui elaborare la richiesta.
  • PROJECT_ID: il tuo ID progetto
  • MODEL_ID: L'ID modello del modello multimodale.
  • TEXT: Le istruzioni di testo da includere nel prompt.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Comprendere la risposta

La risposta di entrambe le API include il testo generato dall'LLM, chiamato candidato. Se il prompt del modello si basa correttamente sull'origine dati, le risposte includono metadati di base, che identificano le parti della risposta derivate dai tuoi dati. Tuttavia, esistono diversi motivi per cui questi metadati potrebbero non essere forniti e la risposta del prompt non sarà basata su dati reali. Questi motivi includono una bassa pertinenza delle fonti o informazioni incomplete nella risposta del modello.

Di seguito è riportata una suddivisione dei dati di output:

  • Ruolo: indica il mittente della risposta basata su dati reali. Poiché la risposta contiene sempre testo basato su dati reali, il ruolo è sempre model.
  • Testo: la risposta basata su grounding generata dall'LLM.
  • Metadati di grounding: informazioni sull'origine del grounding, che contiene i seguenti elementi:
    • Chunk di base: un elenco di risultati dell'indice che supportano la risposta.
    • Supporto per la verifica: informazioni su un'affermazione specifica all'interno della risposta che possono essere utilizzate per mostrare le citazioni:
    • Segmento: la parte della risposta del modello che è supportata da un chunk di grounding.
    • Indice del blocco di grounding: l'indice dei blocchi di grounding nell'elenco dei blocchi di grounding che corrisponde a questa affermazione.
    • Punteggi di affidabilità: un numero compreso tra 0 e 1 che indica quanto l'affermazione sia basata sul set di chunk di grounding fornito. Non disponibile per Gemini 2.5 e versioni successive.

Passaggi successivi

  • Per scoprire come inviare richieste di prompt di chat, consulta la sezione Chat in più turni.
  • Per scoprire di più sulle best practice per l'AI responsabile e sui filtri di sicurezza di Vertex AI, consulta Best practice per la sicurezza.