Controllare l'impianto di messa a terra con RAG

Nell'ambito della tua esperienza RAG (Retrieval Augmented Generation) in Vertex AI Agent Builder, puoi verificare il grounding per determinare la posizione di una porzione di testo (chiamata candidata alla risposta) in un determinato insieme di testi di riferimento (chiamati fatti).

L'API Check Grounding restituisce un punteggio di supporto complessivo compreso tra 0 e 1, che indica quanto la risposta candidata sia in accordo con i fatti forniti. La risposta include anche le citazioni dei fatti a supporto di ogni affermazione nella risposta candidata.

Una motivazione perfetta richiede che ogni affermazione nella risposta candidata debba essere supportata da uno o più dei fatti indicati. In altre parole, l'affermazione è assolutamente deducibile dai fatti. Se la rivendicazione è solo parzialmente implicita, non viene considerata fondata. Ad esempio, l'affermazione "Google è stata fondata da Larry Page e Sergey Brin nel 1975" è corretta solo parzialmente: i nomi dei fondatori sono corretti, ma la data è sbagliata. Pertanto, l'intera affermazione è considerata infondata. In questa versione dell'API di verifica del fondamento, una frase è considerata un singolo reclamo.

Puoi utilizzare l'API di verifica dell'impianto di messa a terra per controllare qualsiasi testo. Può essere un testo pubblicitario creato da persone o una risposta generata automaticamente. Un caso d'uso tipico è verificare una risposta generata da un modello LLM rispetto a un determinato insieme di fatti. L'API check grounding è progettata per essere veloce, con una latenza inferiore a 500 ms. Questa velocità consente ai chatbot di chiamare l'API di verifica della fondatezza durante ogni inferenza, senza provocare un rallentamento significativo. L'API di verifica dell'impianto di messa a terra può anche fornire riferimenti a supporto dei risultati, in modo che gli utenti possano capire quali parti della risposta generata sono affidabili. L'API fornisce anche un punteggio di assistenza per indicare la precisione complessiva della risposta. Impostando una soglia di citazioni, i bot di chat possono filtrare le risposte al momento dell'inferenza che potrebbero contenere affermazioni deliranti.

Questa pagina descrive come controllare la messa a terra utilizzando l'API di controllo della messa a terra.

Funzioni sperimentali

Se vuoi provare le seguenti funzionalità sperimentali disponibili per l'API di verifica dell'impianto di messa a terra, contatta il team degli Account Google e richiedi di essere aggiunto alla lista consentita:

Termini definiti e spiegati

Prima di utilizzare l'API Check Grounding, è utile comprendere gli input e gli output e come strutturare i fatti di ancoraggio per ottenere i risultati migliori.

Dati di input

L'API di verifica dell'impianto di messa a terra richiede i seguenti input nella richiesta.

  • Risposta candidata:una risposta candidata può essere qualsiasi pezzo di testo di cui vuoi verificare la validità. Ad esempio, nel contesto di Vertex AI Search, la risposta candidata potrebbe essere il riepilogo della ricerca generato che risponde a una query. L'API determinerà quindi quanto il riepilogo sia basato sui fatti inseriti. Una risposta candidata può avere una lunghezza massima di 4096 token, dove un token è definito come una parola in una frase o un punto (un segno di punteggiatura utilizzato per terminare la frase). Ad esempio, la frase "Indossavano abiti di serie nel 2024" è composta da sette token, tra cui sei parole e un punto.

  • Fatti:un insieme di segmenti di testo da utilizzare come riferimenti per l'orientamento. È possibile fornire un insieme di attributi dei metadati (coppie chiave-valore) per ogni segmento di testo. Ad esempio, "Autore" e "Titolo" sono chiavi di attributo tipiche.

    Il servizio supporta fino a 200 fatti, ciascuno con un massimo di 10.000 caratteri.

    Google sconsiglia di fornire un fatto molto grande che contenga tutte le informazioni. Invece, puoi ottenere risultati migliori suddividendo i fatti più grandi in fatti più piccoli e fornendo gli attributi appropriati per questi fatti più piccoli. Ad esempio, puoi suddividere un fatto lungo per titolo, autore o URL e fornire queste informazioni negli attributi.

  • Soglia di citazioni: un valore float compreso tra 0 e 1 che controlla l'affidabilità per le citazioni che supportano la risposta candidata. Una soglia più elevata impone un'affidabilità più rigorosa. Pertanto, una soglia più alta genera meno citazioni, ma più autorevoli.

Dati di output

L'API Check Grounding restituisce quanto segue per una risposta candidata:

  • Punteggio di supporto:il punteggio di supporto è un numero compreso tra 0 e 1 che indica quanto sia fondata una risposta candidata nell'insieme di fatti fornito. Approssima approssimativamente la frazione di affermazioni nella risposta candidata che sono state ritenute fondate su uno o più dei fatti indicati.

  • Chunk citati:i chunk citati sono parti dei fatti inseriti che supportano la risposta candidata.

  • Affermazioni e citazioni:le affermazioni e le citazioni collegano un'affermazione (in genere una frase) della risposta candidata a uno o più chunk citati che la confermano.

    Quando il punteggio a livello di rivendicazione è abilitato, per ogni rivendicazione viene restituito un punteggio di assistenza sotto forma di numero da 0 a 1 che indica la fondatezza della rivendicazione nell'insieme di fatti fornito. Per saperne di più, consulta Ottenere i punteggi a livello di claim per una risposta candidata.

  • Controllo di messa a terra richiesto: con ogni reclamo viene restituito un valore booleano di messa a terra obbligatorio. Se il valore restituito è False, significa che il sistema ritiene che la rivendicazione non richieda una motivazione e, pertanto, le citazioni e le anticitazioni non vengono restituite. Ad esempio, una frase come "Ecco cosa ho trovato" non è un fatto in sé e, pertanto, non richiede un controllo di fondatezza.

    Quando il valore di grounding-check-required è true, significa che è stato eseguito un controllo di grounding e vengono restituiti i punteggi di assistenza, le citazioni e le anticitazioni, se presenti.

Ottenere un punteggio di supporto per una risposta candidata

Per scoprire quanto sia fondata una risposta candidata in un insieme di fatti:

  1. Prepara il tuo insieme di fatti. Per ulteriori informazioni ed esempi, consulta la sezione Termini definiti e spiegati.

  2. Chiama il metodo check utilizzando il seguente codice:

REST

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
-d '{
  "answerCandidate": "CANDIDATE",
  "facts": [
  {
    "factText": "TEXT_0",
    "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
  },
  {
    "factText": "TEXT_1",
    "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
  },
  {
    "factText": "TEXT_2",
    "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
  }
  ],
  "groundingSpec": {
    "citationThreshold": "CITATION_THRESHOLD"
  }
}'

Sostituisci quanto segue:

  • PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.

  • CANDIDATE: la stringa della risposta candidata per la quale vuoi ottenere un punteggio di supporto, ad esempio Titanic was directed by James Cameron. It was released in 1997.. Una risposta candidata può avere una lunghezza massima di 4096 token, dove un token è definito come una parola in una frase o un punto (un segno di punteggiatura utilizzato per terminare la frase). Ad esempio, la frase "Indossavano abiti di serie nel 2024" è composta da sette token, tra cui sei parole e un punto.

  • TEXT: il segmento di testo da utilizzare per il grounding, ad esempio Titanic is a 1997 American epic... Academy Awards. (vedi il testo completo in Esempi di fatti).

  • ATTRIBUTE: il nome di un attributo dei metadati associato al fatto, ad esempio author o title. Si tratta di un'etichetta definita dall'utente per aggiungere ulteriori informazioni al testo del fatto. Ad esempio, se il testo del fatto Toronto is the capital of Ontario ha un attributo author con valore Wikipedia, le seguenti affermazioni sono considerate fondate sul fatto:

    • Wikipedia cites that Toronto is the capital of Ontario
    • Toronto is the capital of Ontario

      Tuttavia, l'affermazione che Government of Ontario claims that Toronto is the capital of Ontario non è fondata quanto le prime due.

  • VALUE: il valore dell'attributo, ad esempio Simple Wikipedia o Titanic (1997 film).

  • CITATION_THRESHOLD: un valore in virgola mobile compreso tra 0 e 1 che determina se è necessario citare un fatto per un'affermazione nella risposta candidata. Una soglia più alta genera meno citazioni, ma più autorevoli, mentre una soglia più bassa genera più citazioni, ma meno autorevoli. Se non viene impostato, il valore della soglia predefinito è 0.6.

Python

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python Vertex AI Agent Builder.

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

from google.cloud import discoveryengine_v1 as discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"

client = discoveryengine.GroundedGenerationServiceClient()

# The full resource name of the grounding config.
# Format: projects/{project_id}/locations/{location}/groundingConfigs/default_grounding_config
grounding_config = client.grounding_config_path(
    project=project_id,
    location="global",
    grounding_config="default_grounding_config",
)

request = discoveryengine.CheckGroundingRequest(
    grounding_config=grounding_config,
    answer_candidate="Titanic was directed by James Cameron. It was released in 1997.",
    facts=[
        discoveryengine.GroundingFact(
            fact_text=(
                "Titanic is a 1997 American epic romantic disaster movie. It was directed, written,"
                " and co-produced by James Cameron. The movie is about the 1912 sinking of the"
                " RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released"
                " on December 19, 1997. It received positive critical reviews. The movie won 11 Academy"
                " Awards, and was nominated for fourteen total Academy Awards."
            ),
            attributes={"author": "Simple Wikipedia"},
        ),
        discoveryengine.GroundingFact(
            fact_text=(
                'James Cameron\'s "Titanic" is an epic, action-packed romance'
                "set against the ill-fated maiden voyage of the R.M.S. Titanic;"
                "the pride and joy of the White Star Line and, at the time,"
                "the largest moving object ever built. "
                'She was the most luxurious liner of her era -- the "ship of dreams" -- '
                "which ultimately carried over 1,500 people to their death in the "
                "ice cold waters of the North Atlantic in the early hours of April 15, 1912."
            ),
            attributes={"author": "Simple Wikipedia"},
        ),
    ],
    grounding_spec=discoveryengine.CheckGroundingSpec(citation_threshold=0.6),
)

response = client.check_grounding(request=request)

# Handle the response
print(response)

Esempi di fatti

Di seguito sono riportati alcuni esempi di fatti e relativi attributi. Questi esempi sono utili per comprendere la risposta di messa a terra e il formato del comando curl.

  • Dato 0

    • Testo: "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards."

    • Attributi: {"Author": "Simple Wikipedia"}

  • Dato 1

    • Testo: "James Cameron's "Titanic" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the "ship of dreams" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912."

    • Attributi: {"Author": "Rotten Tomatoes"}

Richiesta di esempio

Dopo aver preparato i fatti, puoi inviare la seguente richiesta, sostituendo il campo CANDIDATE con stringhe diverse di cui vuoi verificare la validità.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6"
    }
    }'

Esempi di risposte candidate e risposte di fondazione

La tabella seguente mostra esempi di risposte e candidati per le risposte diversi quando invii la richiesta di esempio, in base ai fatti di esempio.

Risposta candidata Controllare la risposta di messa a terra
Here is what I found. Titanic was directed by James Cameron. Punteggio di assistenza: 0.99

Blocchi citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
Affermazioni e citazioni:
  • 0. Here is what I found.
    Verifica di messa a terra richiesta: false
  • 1. Titanic was directed by James Cameron.
    Citazioni: [0]
    Controllo di messa a terra obbligatorio: true
Titanic was directed by James Cameron. It was released in 1997. Punteggio di assistenza: 0.99

Blocchi citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
Affermazioni e citazioni:
  • 0. Titanic was directed by James Cameron.
    Citazioni: [0]
    Controllo di messa a terra obbligatorio: true
  • 1. It was released in 1997.
    Citazioni: [1]
    Controllo di messa a terra obbligatorio: true
Titanic was directed by James Cameron. It was based on the sinking of the RMS Titanic that led to the death of 1500 people. Punteggio di assistenza: 0.95

Blocchi citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
Affermazioni e citazioni:
  • 0. Cited chunks: Titanic was directed by James Cameron.
    Citazioni: [0]
    Verifica di messa a terra richiesta: true
  • 1. Cited chunks: It was based on the sinking of the RMS Titanic that led to the death of 1500 people.
    Citazioni: [1]
    Verifica di messa a terra richiesta: true
Titanic was directed by James Cameron. It starred Brad Pitt and Kate Winslet Punteggio di assistenza: 0.54

Blocchi citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
Affermazioni e citazioni:
  • 0. Titanic was directed by James Cameron.
    Citazioni: [0]
    Controllo di messa a terra obbligatorio: true
  • 1. It starred Brad Pitt and Kate Winslet
    Citazioni: []
    Controllo di messa a terra obbligatorio: true
Nota: anche se Kate Winslet ha recitato nel film, poiché la dichiarazione "It starred Brad Pitt and Kate Winslet" non è completamente vera, non viene citata. In questo caso, puoi chiamare il metodo con le citazioni anti-antipirateria abilitate per ottenere un punteggio di contraddizione. Per ulteriori informazioni, consulta Ottenere un punteggio di contraddizione per una risposta candidata.

Ottenere un punteggio di contraddizione per una risposta candidata

Oltre al punteggio di supporto, puoi anche ottenere un punteggio di contraddizione. Il punteggio di contraddizione approssima liberamente la frazione di affermazioni che contraddicono i fatti forniti.

Per provare questa funzionalità sperimentale, contatta il team degli Account Google e richiedi di essere aggiunto alla lista consentita.

Ottenere un punteggio di contraddizione

Per ottenere il punteggio di contraddizione:

  1. Prepara il tuo insieme di fatti. Per ulteriori informazioni ed esempi, consulta la sezione Termini definiti e spiegati.

  2. Chiama il metodo check utilizzando il seguente comando curl:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "TEXT_0",
      "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
     },
     {
      "factText": "TEXT_1",
      "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
     },
     {
      "factText": "TEXT_2",
      "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
     },
    ],
    "groundingSpec": {
      "citationThreshold": "CITATION_THRESHOLD",
      "enableAntiCitations": "ENABLE_ANTI_CITATION",
      "antiCitationThreshold": "ANTI_CITATION_THRESHOLD",
    }
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.

    • CANDIDATE: la stringa della risposta candidata per la quale vuoi ottenere un punteggio di supporto, ad esempio Titanic was directed by James Cameron. It was released in 1997.. Una risposta candidata può avere una lunghezza massima di 4096 token, dove un token è definito come una parola in una frase o un punto (un segno di punteggiatura utilizzato per terminare la frase). Ad esempio, la frase "Indossavano abiti di serie nel 2024" è composta da sette token, tra cui sei parole e un punto.

    • TEXT: il segmento di testo da utilizzare per il grounding, ad esempio Titanic is a 1997 American epic... Academy Awards. (vedi il testo completo in Esempi di fatti).

    • ATTRIBUTE: il nome di un attributo metadati associato al fatto, ad esempio author o title. È un'etichetta definita dall'utente per aggiungere ulteriori informazioni al testo del fatto. Ad esempio, se il testo del fatto Toronto is the capital of Ontario ha un attributo author con valore Wikipedia, le seguenti affermazioni sono fondate:

      • Wikipedia cites that Toronto is the capital of Ontario
      • Toronto is the capital of Ontario

      Tuttavia, l'affermazione che Government of Ontario claims that Toronto is the capital of Ontario non è così fondata.

    • VALUE: il valore dell'attributo, ad esempio Simple Wikipedia o Titanic (1997 film).

    • CITATION_THRESHOLD: un valore in virgola mobile compreso tra 0 e 1 che determina se è necessario citare un fatto per un'affermazione nella risposta candidata. Una soglia più alta comporta meno citazioni, ma più autorevoli, a sostegno della rivendicazione, mentre una soglia più bassa comporta più citazioni, ma meno autorevoli, a sostegno della rivendicazione. Se non viene impostato, il valore predefinito della soglia è 0,6.

    • ENABLE_ANTI_CITATION: un valore booleano. Imposta questo campo su true per consentire alla funzionalità sperimentale di valutare il punteggio di contraddizione. Rimuovi questo campo o impostalo su false per disattivare questa funzionalità.

    • ANTI_CITATION_THRESHOLD: un valore float compreso tra 0 e 1 che determina se un fatto deve essere citato come in contraddizione con un'affermazione nella risposta candidata. Una soglia più alta genera meno citazioni, ma più forti, che contraddicono la rivendicazione, mentre una soglia più bassa genera più citazioni, ma meno forti, che contraddicono la rivendicazione. Se non viene impostato, il valore predefinito della soglia è 0,8.

Richiesta di esempio

Utilizzando i fatti di esempio della sezione precedente, puoi inviare la seguente richiesta. Sostituisci il campo CANDIDATE con diverse stringhe di cui vuoi verificare la fondatezza e le contraddizioni.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6",
      "enableAntiCitations": true,
      "antiCitationThreshold": "0.8",
    }
    }'

Esempio di risposte con contraddizioni

La tabella seguente mostra un esempio di risposta candidata e la relativa risposta quando invii la richiesta di esempio, in base ai fatti di esempio.

Risposta candidata Controlla la risposta di messa a terra
Titanic was directed by James Cameron. It starred Brad Pitt and Kate Winslet Punteggio di supporto: 0.36

Punteggio di contraddizione: 0.49

Chunk citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
  2. [From FACT 1]...Titanic is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912....
Affermazioni e citazioni:
  • 0. Titanic was directed by James Cameron.
    Citazioni: [0] Anti-citazioni: []
    Controllo di messa a terra richiesto: true
  • 1. It starred Brad Pitt and Kate Winslet
    Citazioni: [] Anti-citazioni: [0]
    Controllo di messa a terra richiesto: true

Ottenere un punteggio di utilità per una risposta candidata

Per provare questa funzionalità sperimentale, contatta il team degli Account Google e chiedi di essere aggiunto alla lista consentita.

Oltre al punteggio di supporto e al punteggio di contraddizione, l'API check grounding può fornire un punteggio di utilità. Una risposta utile è quella che soddisfa efficacemente la richiesta dell'utente (come indicato nel prompt) in modo informativo. Il punteggio di utilità misura il grado di efficacia della risposta in base ai seguenti criteri:

  • Risponde all'intent principale del prompt
  • Fornisce dettagli completi, ma è conciso
  • Risponde direttamente alla domanda posta o completa l'attività richiesta nel prompt
  • Offre informazioni pertinenti
  • È chiara e semplice
  • Evita dettagli e gergo non necessari

Per ottenere un punteggio di utilità insieme al punteggio di fondatezza, devi fornire un prompt insieme alle risposte candidate e ai fatti. L'API di verifica della motivazione esamina la risposta candidata con il prompt e assegna un punteggio che indica quanto sia utile la risposta candidata al prompt. Il punteggio rientra nell'intervallo [0,1], dove un punteggio più alto indica una risposta più utile.

Ottenere un punteggio di utilità

Per ottenere il punteggio di utilità:

  1. Prepara il prompt e rispondi al candidato.

  2. Chiama il metodo check utilizzando il seguente comando curl:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
    {
      "factText": "TEXT_0",
      "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
    },
    {
      "factText": "TEXT_1",
      "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
    },
    {
      "factText": "TEXT_2",
      "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
    }
    ],
    "groundingSpec": {
      "enableHelpfulnessScore": true
    },
    "prompt": "PROMPT",
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.

    • CANDIDATE: la stringa della risposta candidata per la quale vuoi ottenere un punteggio di utilità, ad esempio Titanic was directed by James Cameron. It was released in 1997.. Una risposta candidata può avere una lunghezza massima di 4096 token.

    • TEXT: il segmento di testo da utilizzare per il grounding, ad esempio Titanic is a 1997 American epic... Academy Awards. (vedi il testo completo in Esempi di fatti).

    • ATTRIBUTE: il nome di un attributo metadati associato al fatto, ad esempio author o title. È un'etichetta definita dall'utente per aggiungere ulteriori informazioni al testo del fatto. Ad esempio, se il testo del fatto Toronto is the capital of Ontario ha un attributo author con valore Wikipedia, le seguenti affermazioni sono fondate:

      • Wikipedia cites that Toronto is the capital of Ontario
      • Toronto is the capital of Ontario

      Tuttavia, l'affermazione che Government of Ontario claims that Toronto is the capital of Ontario non è così fondata.

    • VALUE: il valore dell'attributo, ad esempio Simple Wikipedia o Titanic (1997 film).

    • PROMPT: il prompt è la query a cui è stata generata la risposta candidata, ad esempio Who directed and starred in the movie Titanic?.

Richiesta di esempio

Utilizzando i fatti di esempio della sezione precedente, puoi inviare la seguente richiesta. Sostituisci il campo CANDIDATE con diverse risposte candidate per ottenere un punteggio di utilità per la risposta.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "enableHelpfulnessScore": true
    },
    "prompt": "Who directed and starred in the movie Titanic?"
    }'

Esempio di risposte con punteggi di utilità

La seguente tabella mostra esempi di risposte candidate con i relativi punteggi di utilità. In ogni caso, il prompt è Who directed and starred in the Titanic?

Risposta candidata Punteggio di utilità Spiegazione del punteggio
Titanic was directed by James Cameron. It starred Leonardo DiCaprio and Kate Winslet. 0.980 Punteggio conciso e completo
Cameron, DiCaprio and Winslet. 0.947 Incompleto
James Cameron's 1997 masterpiece, Titanic, captured the hearts of audiences worldwide with its tragic love story set against the backdrop of the ill-fated maiden voyage of the "unsinkable" ship. The film, a mesmerizing blend of historical drama and fictional romance, starred Leonardo DiCaprio as Jack Dawson, a penniless artist who falls for Rose DeWitt Bukater, a young woman trapped by her social standing and played exquisitely by Kate Winslet. Their passionate love affair unfolds amidst the grandeur and opulence of the Titanic, a floating palace of dreams that ultimately succumbs to a devastating fate. 0.738 Non conciso

Ottenere i punteggi a livello di rivendicazione per una risposta candidata

Oltre al punteggio di assistenza a livello di risposta, puoi ottenere un punteggio di assistenza a livello di rivendicazione per ogni rivendicazione in una risposta candidata.

Per provare questa funzionalità sperimentale, contatta il team degli Account Google e richiedi di essere aggiunto alla lista consentita.

Per ottenere i punteggi a livello di reclamo:

  1. Prepara il tuo insieme di fatti. Per ulteriori informazioni ed esempi, consulta la sezione Termini definiti e spiegati.

  2. Chiama il metodo check utilizzando il seguente comando curl:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "TEXT_0",
      "attributes": {"ATTRIBUTE_A": "VALUE_A0","ATTRIBUTE_B": "VALUE_B0"}
     },
     {
      "factText": "TEXT_1",
      "attributes": {"ATTRIBUTE_A": "VALUE_A1","ATTRIBUTE_B": "VALUE_B1"}
     },
     {
      "factText": "TEXT_2",
      "attributes": {"ATTRIBUTE_A": "VALUE_A2","ATTRIBUTE_B": "VALUE_B2"}
     },
    ],
    "groundingSpec": {
      "citationThreshold": "CITATION_THRESHOLD",
      "enableClaimLevelScore": "ENABLE_CLAIM_LEVEL_SCORE",
    }
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.

    • CANDIDATE: la stringa della risposta candidata per la quale vuoi ottenere un punteggio di supporto, ad esempio Titanic was directed by James Cameron. It was released in 1997.. Una risposta candidata può avere una lunghezza massima di 4096 token, dove un token è definito come una parola in una frase o un punto (un segno di punteggiatura utilizzato per terminare la frase). Ad esempio, la frase "Indossavano abiti di serie nel 2024" è composta da sette token, tra cui sei parole e un punto.

    • TEXT: il segmento di testo da utilizzare per il grounding, ad esempio Titanic is a 1997 American epic... Academy Awards. (vedi il testo completo in Esempi di fatti).

    • ATTRIBUTE: il nome di un attributo metadati associato al fatto, ad esempio author o title. È un'etichetta definita dall'utente per aggiungere ulteriori informazioni al testo del fatto. Ad esempio, se il testo del fatto Toronto is the capital of Ontario ha un attributo author con valore Wikipedia, le seguenti affermazioni sono fondate:

      • Wikipedia cites that Toronto is the capital of Ontario
      • Toronto is the capital of Ontario

      Tuttavia, l'affermazione che Government of Ontario claims that Toronto is the capital of Ontario non è così fondata.

    • VALUE: il valore dell'attributo, ad esempio Simple Wikipedia o Titanic (1997 film).

    • CITATION_THRESHOLD: un valore in virgola mobile compreso tra 0 e 1 che determina se è necessario citare un fatto per un'affermazione nella risposta candidata. Una soglia più alta comporta meno citazioni, ma più autorevoli, a sostegno della rivendicazione, mentre una soglia più bassa comporta più citazioni, ma meno autorevoli, a sostegno della rivendicazione. Se non viene impostato, il valore predefinito della soglia è 0,6.

    • ENABLE_CLAIM_LEVEL_SCORE: un valore booleano. Imposta questo campo su true per attivare la funzionalità del punteggio a livello di rivendicazione. Per disattivare questa funzionalità, rimuovi questo campo o impostalo su false.

Richiesta di esempio

Utilizzando i fatti di esempio della sezione precedente, puoi inviare la seguente richiesta. Sostituisci il campo CANDIDATE con stringhe diverse di cui vuoi verificare la motivazione per ogni rivendicazione.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
    "answerCandidate": "CANDIDATE",
    "facts": [
     {
      "factText": "Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. The movie is about the 1912 sinking of the RMS Titanic. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.",
      "attributes": {"author":"Simple Wikipedia"}
     },
     {
      "factText": "James Cameron's \"Titanic\" is an epic, action-packed romance set against the ill-fated maiden voyage of the R.M.S. Titanic; the pride and joy of the White Star Line and, at the time, the largest moving object ever built. She was the most luxurious liner of her era -- the \"ship of dreams\" -- which ultimately carried over 1,500 people to their death in the ice cold waters of the North Atlantic in the early hours of April 15, 1912.",
      "attributes": {"author":"Simple Wikipedia"}
     }
    ],
    "groundingSpec": {
      "citationThreshold": "0.6",
      "enableClaimLevelScore": true,
    }
    }'

Esempio di risposte con punteggi a livello di rivendicazione

La tabella seguente mostra un esempio di risposta candidata e la relativa risposta quando invii la richiesta di esempio, in base ai fatti di esempio.

Risposta candidata Controllare la risposta di messa a terra
Here is what I found. Titanic was directed by James Cameron. It starred Kate Winslet and Leonardo DiCaprio. Punteggio di assistenza: 0.99

Blocchi citati:
  1. [From FACT 0]....Titanic is a 1997 American epic romantic disaster movie. It was directed, written, and co-produced by James Cameron. It stars Kate Winslet and Leonardo DiCaprio. The movie was released on December 19, 1997. It received positive critical reviews. The movie won 11 Academy Awards, and was nominated for fourteen total Academy Awards.....
Affermazioni e citazioni:
  • 0. Here is what I found.
    Verifica di messa a terra richiesta: false
  • 1. Titanic was directed by James Cameron.
    Citazioni: [0]
    Controllo di messa a terra richiesto: true
    Punteggio: 0.99
  • 2. It starred Kate Winslet and Leonardo DiCaprio.
    Citazioni: [0]
    Controllo di messa a terra richiesto: true
    Punteggio: 0.99

Verificare l'isolamento con un datastore

Per impostazione predefinita, la verifica della grounding viene eseguita in base a un insieme di fatti forniti in linea nella chiamata dell'API di verifica della grounding. Tuttavia, in alternativa alla fornitura dei fatti in linea, puoi verificare la risposta candidata rispetto a tutti i fatti in un datastore di Vertex AI Search.

Quando chiami l'API di verifica del grounding, fornisci il nome di un'app di ricerca Vertex AI. A loro volta, i datastore non strutturati associati a quell'app di ricerca contengono l'insieme di fatti utilizzati per verificare il grounding della risposta candidata.

Per verificare l'isolamento rispetto a un datastore:

  1. Identifica un'app di ricerca generica associata ad almeno un datastore che contiene dati non strutturati. I documenti in questo datastore fungono da fonte per i fatti di base.

    Per scoprire come creare un datastore e un'app di ricerca, consulta Creare un datastore di ricerca e Creare un'app di ricerca.

  2. Trova l'ID app. Se hai già l'ID app, vai al passaggio successivo.

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

      Vai ad App

    2. Nella pagina App, trova il nome della tua app e recupera l'ID dall'app colonna ID.

  3. Chiama il metodo check utilizzando il seguente comando curl:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/groundingConfigs/default_grounding_config:check" \
    -d '{
        "answerCandidate": "CANDIDATE",
        "groundingSource": {
          "searchSource": "projects/SOURCE_PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search"
        }
    }'
    

    Sostituisci quanto segue:

    • PROJECT_ID: il numero o l'ID del tuo progetto Google Cloud.

    • SOURCE_PROJECT_ID: il numero o l'ID del progetto che contiene l'app per l'isolamento.

      Questo progetto di origine deve trovarsi nella stessa regione del tuo progetto, ad esempio global o eu. Per informazioni generali sulle località multiregionali, consulta Località.

    • CANDIDATE: la stringa della risposta candidata per la quale vuoi ottenere un punteggio di supporto, ad esempio Titanic was directed by James Cameron. It was released in 1997.. Una risposta candidata può avere una lunghezza massima di 4096 token, dove un token è definito come una parola in una frase o un punto (un segno di punteggiatura utilizzato per terminare la frase). Ad esempio, la frase "Indossavano abiti di serie nel 2024" è composta da sette token, tra cui sei parole e un punto.

    • APP_ID: l'ID dell'app di ricerca Vertex AI i cui datastore non strutturati contengono i fatti che vuoi utilizzare come origine del grounding.