Eseguire il grounding con i dati

Questa pagina spiega come basare le risposte utilizzando i dati di Vertex AI Search (anteprima).

Eseguire il grounding di Gemini in base ai tuoi dati

Se vuoi eseguire la generazione basata sul recupero (RAG), collega il tuo modello ai dati del tuo sito web o ai tuoi insiemi di documenti, quindi utilizza la coerenza 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 l'aggiornamento con i tuoi dati. Per esaminare in che modo ogni modello genera risposte basate su dati, segui queste istruzioni:

  1. Prova un modello elencato in questa tabella nella console Google Cloud.

  2. Fai clic sul pulsante di attivazione/disattivazione Collegamento a terra in modo che sia impostato su On.

  3. Fai clic su Personalizza e viene visualizzato il riquadro Personalizza messa a terra.

  4. Seleziona Vertex AI Search.

  5. Nella sezione Grounding con Vertex AI Search, inserisci il percorso del datastore Vertex AI. Se non hai un datastore Vertex AI, creane uno. Per ulteriori informazioni, consulta Creare un datastore.

  6. Fai clic su Salva.

Modello Descrizione Provare un modello
Gemini 1.5 Pro
Solo input di testo Prova il modello Gemini 1.5 Pro
Gemini 1.5 Flash
Solo input di testo Prova il modello Gemini 1.5 Flash
Gemini 1.0 Pro
Solo input di testo Prova il modello Gemini 1.0 Pro
Gemini 2.0 Flash
Testo, codice, immagini, audio, video, video con audio, PDF Prova il modello Gemini 2.0 Flash

Prerequisiti

Prima di poter basare l'output del modello sui tuoi dati, svolgi i seguenti passaggi:

  1. Abilita Vertex AI Agent Builder e attiva l'API.
  2. Crea un'origine dati e un'applicazione Vertex AI Agent Builder.

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

Attiva Vertex AI Agent Builder

  1. Nella console Google Cloud, vai alla pagina Agent Builder.

    Agent Builder

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

Vertex AI Agent Builder è disponibile nella località global o nelle regioni multiple eu e us. Per approfondire, consulta le località di Vertex AI Agent Builder

Creare un data store in Vertex AI Agent Builder

Per creare un datastore in Vertex AI Agent Builder, puoi scegliere di eseguire il grounding con i dati o i documenti del sito web.

Website

  1. Apri la pagina Crea Data Store 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 tuo 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 tuo datastore.

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

    • Aggiungi gli URL per i siti da includere.
    • (Facoltativo) Aggiungi gli 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 tuo data store.
    2. Inserisci un nome nel campo Nome del tuo datastore. L'ID viene generato. Utilizza questo ID quando generi le risposte basate su dati con il tuo archivio dati. Per ulteriori informazioni, consulta Generare risposte basate su dati con il tuo datastore.
    3. Fai clic su Crea.

Documenti

  1. Apri la pagina Crea Data Store 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 di 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 tuo data store.
    2. Inserisci un nome nel campo Nome del tuo datastore. L'ID viene generato.
    3. Per selezionare le opzioni di analisi e suddivisione dei documenti, espandi la sezione Opzioni di elaborazione dei documenti. Per saperne di più sui diversi analizzatori, consulta Eseguire l'analisi dei documenti.
    4. Fai clic su Crea.
  8. Fai clic su Crea.

Genera risposte basate sui dati con il tuo datastore

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

Se non conosci l'ID del tuo data store:

  1. Nella console Google Cloud, vai alla pagina Agent Builder di Vertex AI e nel menu di navigazione fai clic su Data store.

    Vai alla pagina Datastore

  2. Fai clic sul nome del tuo datastore.

  3. Nella pagina Dati del tuo datastore, ottieni l'ID datastore.

Console

Per eseguire il grounding dell'output del modello in Vertex AI Agent Builder utilizzando Vertex AI Studio nella console Google Cloud:

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

    Vai a In formato libero

  2. Per attivare la messa a terra, fai clic sul pulsante di attivazione/disattivazione Messa a terra.
  3. Fai clic su Personalizza.
    1. Seleziona Vertex AI Search come origine.
    2. Utilizzando questo formato del percorso, sostituisci l'ID progetto e l'ID del tuo 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 si basano su Vertex AI Agent Builder.

Python

Prima di provare questo esempio, segui le istruzioni di configurazione Python riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Vertex AI.

Per autenticarti a Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

import vertexai

from vertexai.preview.generative_models import (
    GenerationConfig,
    GenerativeModel,
    Tool,
    grounding,
)

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# data_store_id = "your-data-store-id"

vertexai.init(project=PROJECT_ID, location="us-central1")

model = GenerativeModel("gemini-1.5-flash-001")

tool = Tool.from_retrieval(
    grounding.Retrieval(
        grounding.VertexAISearch(
            datastore=data_store_id,
            project=PROJECT_ID,
            location="global",
        )
    )
)

prompt = "How do I make an appointment to renew my driver's license?"
response = model.generate_content(
    prompt,
    tools=[tool],
    generation_config=GenerationConfig(
        temperature=0.0,
    ),
)

print(response.text)

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

Informazioni sulla risposta

Se il prompt del modello si basa correttamente sui data store di Vertex AI Search utilizzando Vertex AI Studio o l'API, le risposte del modello includono metadati con citazioni e link alle origini. Se la risposta del modello presenta informazioni incomplete o una bassa pertinenza della fonte, i metadati potrebbero non essere forniti e la risposta al prompt non sarà basata su dati.

Passaggi successivi

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