Dans le cadre de votre expérience de génération augmentée par récupération (RAG) dans Vertex AI Agent Builder, vous pouvez vérifier l'ancrage pour déterminer dans quelle mesure un extrait de texte (appelé réponse candidate) est ancré dans un ensemble donné de textes de référence (appelés faits).
L'API Check Grounding renvoie un score d'éligibilité global compris entre 0 et 1, qui indique dans quelle mesure la réponse candidate est conforme aux faits donnés. La réponse inclut également des citations aux faits qui étayent chaque affirmation de la réponse candidate.
Une ancrage parfaite exige que chaque affirmation de la réponse candidate soit étayée par un ou plusieurs des faits donnés. En d'autres termes, l'affirmation est entièrement impliquée par les faits. Si la réclamation n'est que partiellement impliquée, elle n'est pas considérée comme fondée. Par exemple, l'affirmation "Google a été fondé par Larry Page et Sergey Brin en 1975" n'est que partiellement correcte (les noms des fondateurs sont corrects, mais la date est erronée). Par conséquent, l'ensemble de l'affirmation est considéré comme infondé. Dans cette version de l'API de justification des contrôles, une phrase est considérée comme une seule réclamation.
Vous pouvez utiliser l'API check grounding pour vérifier n'importe quel texte. Il peut s'agir d'un texte généré par un humain ou d'une réponse générée par une machine. Un cas d'utilisation typique consiste à comparer une réponse générée par un LLM à un ensemble de faits donné. L'API check grounding est conçue pour être rapide, avec une latence inférieure à 500 ms. Cette vitesse permet aux bots de chat d'appeler l'API de vérification de l'ancrage lors de chaque inférence, sans ralentissement significatif. L'API de vérification de l'ancrage peut également fournir des références pour étayer ses résultats, afin que les utilisateurs puissent identifier les parties de la réponse générée qui sont fiables. L'API fournit également un score d'assistance pour indiquer la précision globale de la réponse. En définissant un seuil de citation, les chatbots peuvent filtrer les réponses au moment de l'inférence qui sont susceptibles de contenir des affirmations hallucinatoires.
Cette page explique comment vérifier la mise à la terre à l'aide de l'API check grounding.
Fonctionnalités expérimentales
Si vous souhaitez essayer les fonctionnalités expérimentales suivantes disponibles pour l'API de vérification de la mise à la terre, contactez l'équipe de gestion de votre compte Google et demandez à être ajouté à la liste d'autorisation:
Anti-citations:la fonctionnalité Anti-citations vous fournit un score de contradiction qui indique dans quelle mesure la réponse candidate contredit les faits donnés. La réponse inclut également des citations des faits contradictoires pour chaque réclamation. Pour en savoir plus, consultez Obtenir un score de contradiction pour une réponse candidate.
Score d'éligibilité au niveau de la revendication:un score d'éligibilité au niveau de la revendication indique la justification de chaque revendication dans la réponse candidate, en plus du score d'éligibilité global de la réponse candidate. Pour en savoir plus, consultez Obtenir des scores au niveau de la revendication pour une réponse candidate.
Score d'utilité:le score d'utilité mesure dans quelle mesure la réponse candidate répond à une requête donnée. Pour en savoir plus, consultez Obtenir un score d'utilité pour une réponse candidate.
Ancrage avec un data store:sourcez les faits d'ancrage à partir d'un data store Vertex AI Search au lieu de fournir des faits intégrés. Pour en savoir plus, consultez Vérifier l'ancrage avec un entrepôt de données.
Définition et explication des termes
Avant d'utiliser l'API de vérification de la mise à la terre, il est utile de comprendre les entrées et les sorties, et de savoir comment structurer vos informations de mise à la terre pour obtenir les meilleurs résultats.
Données d'entrée
L'API de vérification de la mise à la terre nécessite les entrées suivantes dans la requête.
Réponse candidate:toute partie de texte dont vous souhaitez vérifier la pertinence peut être une réponse candidate. Par exemple, dans le contexte de Vertex AI Search, la réponse candidate peut être le résumé de recherche généré qui répond à une requête. L'API déterminera ensuite dans quelle mesure le résumé est basé sur les faits saisis. Une réponse candidate peut avoir une longueur maximale de 4 096 jetons, où un jeton est défini comme un mot dans une phrase ou un point (un signe de ponctuation utilisé pour terminer la phrase). Par exemple, la phrase "Ils portaient des vêtements prêts à porter en 2024." compte sept jetons, dont six mots et un point.
Faits:ensemble de segments de texte à utiliser comme référence pour l'ancrage. Un ensemble d'attributs de métadonnées (paires clé-valeur) peut être fourni avec chaque segment de texte. Par exemple, "Auteur" et "Titre" sont des clés d'attributs typiques.
Le service accepte jusqu'à 200 faits, chacun pouvant comporter jusqu'à 10 000 caractères.
Google déconseille de fournir un fait très long qui contient toutes les informations. Vous pouvez obtenir de meilleurs résultats en divisant les faits volumineux en faits plus petits et en fournissant des attributs appropriés pour ces faits plus petits. Par exemple, vous pouvez diviser un fait volumineux par titre, auteur ou URL, et fournir ces informations dans des attributs.
Seuil de citation: valeur à virgule flottante comprise entre 0 et 1 qui contrôle la confiance pour les citations qui appuient la réponse candidate. Un seuil plus élevé impose un niveau de confiance plus strict. Par conséquent, un seuil plus élevé génère moins de citations, mais plus fortes.
Données de sortie
L'API Check Grounding renvoie les éléments suivants pour une réponse candidate:
Score d'appui:il s'agit d'un nombre compris entre 0 et 1 qui indique dans quelle mesure une réponse candidate est fondée sur l'ensemble de faits fourni. Il donne une approximation approximative de la fraction des affirmations de la réponse candidate qui ont été jugées fondées sur un ou plusieurs des faits donnés.
Segments cités:les segments cités sont des parties des faits saisis qui étayent la réponse candidate.
Revendications et citations:les revendications et les citations relient une revendication (généralement une phrase) de la réponse candidate à un ou plusieurs des segments cités qui corroborent la revendication.
Lorsque le score au niveau de la revendication est activé, un score d'éligibilité est renvoyé pour chaque revendication sous la forme d'un nombre compris entre 0 et 1, qui indique dans quelle mesure la revendication est fondée sur l'ensemble de faits fourni. Pour en savoir plus, consultez la section Obtenir des scores au niveau de la revendication pour une réponse candidate.
Vérification de la mise à la terre requise: pour chaque réclamation, une valeur booléenne "grounding-check-required" est renvoyée. Lorsque cette valeur est renvoyée sous la forme
False
, cela signifie que le système considère que la revendication n'a pas besoin d'être justifiée. Par conséquent, les citations et les anti-citations ne sont pas renvoyées. Par exemple, une phrase comme "Voici ce que j'ai trouvé" n'est pas un fait en soi et ne nécessite donc pas de vérification de la pertinence.Lorsque la valeur grounding-check-required est renvoyée sous la forme
true
, cela signifie qu'une vérification de l'ancrage a été effectuée et que des scores d'appui, des citations et des anti-citations, le cas échéant, sont renvoyés.
Obtenir un score d'assistance pour une réponse candidate
Pour savoir dans quelle mesure une réponse candidate est fondée sur un ensemble de faits, procédez comme suit:
Préparez votre ensemble de faits. Pour en savoir plus et obtenir des exemples, consultez la section Définition et explication des termes.
Appelez la méthode
check
à l'aide du code suivant:
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"
}
}'
Remplacez les éléments suivants :
PROJECT_ID
: numéro ou ID de votre projet Google Cloud.CANDIDATE
: chaîne de réponse candidate pour laquelle vous souhaitez obtenir un score d'assistance (par exemple,Titanic was directed by James Cameron. It was released in 1997.
). Une réponse candidate peut avoir une longueur maximale de 4 096 jetons, où un jeton est défini comme un mot dans une phrase ou un point (un signe de ponctuation utilisé pour terminer la phrase). Par exemple, la phrase "Ils portaient des vêtements prêts à porter en 2024." compte sept jetons, dont six mots et un point.TEXT
: segment de texte à utiliser pour l'ancrage (par exemple,Titanic is a 1997 American epic... Academy Awards.
). Consultez le texte complet dans Exemples de faits.ATTRIBUTE
: nom d'un attribut de métadonnées associé au fait (par exemple,author
outitle
). Il s'agit d'un libellé défini par l'utilisateur pour ajouter des informations au texte de la fiche. Par exemple, si le texte factuelToronto is the capital of Ontario
possède un attributauthor
dont la valeur estWikipedia
, les affirmations suivantes sont considérées comme fondées sur le fait:Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
Toutefois, l'affirmation selon laquelle
Government of Ontario claims that Toronto is the capital of Ontario
n'est pas aussi fondée que les deux premières n'est pas tout à fait exacte.
VALUE
: valeur de l'attribut (par exemple,Simple Wikipedia
ouTitanic (1997 film)
).CITATION_THRESHOLD
: valeur flottante comprise entre 0 et 1 qui détermine si un fait doit être cité pour une affirmation dans la réponse candidate. Un seuil plus élevé entraîne moins de citations, mais plus fortes, tandis qu'un seuil plus faible entraîne plus de citations, mais plus faibles. Si elle n'est pas définie, la valeur par défaut du seuil est0.6
.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Python de Vertex AI Agent Builder.
Pour vous authentifier auprès de Vertex AI Agent Builder, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Exemples de faits
Voici quelques exemples de faits et de leurs attributs. Ces exemples visent à vous aider à comprendre la réponse de mise à la terre et le format de la commande curl.
Fait 0
Texte :
"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."
Attributs:
{"Author": "Simple Wikipedia"}
Fait 1
Texte :
"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."
Attributs:
{"Author": "Rotten Tomatoes"}
Exemple de requête
Après avoir préparé les faits, vous pouvez envoyer la requête suivante, en remplaçant le champ CANDIDATE par différentes chaînes dont vous souhaitez vérifier la mise à la terre.
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"
}
}'
Exemples de réponses candidates et de réponses de justification
Le tableau suivant présente des exemples de réponses et de réponses candidates différentes lorsque vous envoyez l'exemple de requête, en fonction des faits.
Réponse candidate | Vérifier la réponse de mise à la terre |
---|---|
Here is what I found. Titanic was directed by James Cameron.
|
Score d'éligibilité: 0.99 Blocs cités :
|
Titanic was directed by James Cameron. It was released in
1997.
|
Score d'éligibilité: 0.99 Blocs cités :
|
Titanic was directed by James Cameron. It was based on the sinking
of the RMS Titanic that led to the death of 1500 people.
|
Score d'éligibilité: 0.95 Blocs cités :
|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
Score d'éligibilité: 0.54 Blocs cités :
"It starred Brad Pitt and Kate Winslet" n'est pas tout à fait vraie. Dans ce cas, vous pouvez appeler la méthode avec les anti-citations activées pour obtenir un score de contradiction.
Pour en savoir plus, consultez la section Obtenir un score de contradiction pour une réponse candidate. |
Obtenir un score de contradiction pour une réponse candidate
En plus du score d'assistance, vous pouvez également obtenir un score de contradiction. Le score de contradiction donne une approximation approximative de la fraction des affirmations qui contredisent les faits fournis.
Pour essayer cette fonctionnalité expérimentale, contactez l'équipe chargée de votre compte Google et demandez à être ajouté à la liste d'autorisation.
Obtenir un score de contradiction
Pour obtenir le score de contradiction, procédez comme suit:
Préparez votre ensemble de faits. Pour en savoir plus et obtenir des exemples, consultez la section Définition et explication des termes.
Appelez la méthode
check
à l'aide de la commande curl suivante: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", } }'
Remplacez les éléments suivants :
PROJECT_ID
: numéro ou ID de votre projet Google Cloud.CANDIDATE
: chaîne de réponse candidate pour laquelle vous souhaitez obtenir un score d'assistance (par exemple,Titanic was directed by James Cameron. It was released in 1997.
). Une réponse candidate peut avoir une longueur maximale de 4 096 jetons, où un jeton est défini comme un mot dans une phrase ou un point (un signe de ponctuation utilisé pour terminer la phrase). Par exemple, la phrase "Ils portaient des vêtements prêts à porter en 2024." compte sept jetons, dont six mots et un point.TEXT
: segment de texte à utiliser pour l'ancrage (par exemple,Titanic is a 1997 American epic... Academy Awards.
). Consultez le texte complet dans Exemples de faits.ATTRIBUTE
: nom d'un attribut de métadonnées associé au fait (par exemple,author
outitle
). Il s'agit d'un libellé défini par l'utilisateur pour ajouter plus d'informations au texte de la vérification. Par exemple, si le texte factuelToronto is the capital of Ontario
possède un attributauthor
dont la valeur estWikipedia
, les affirmations suivantes sont fondées:Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
Toutefois, l'affirmation selon laquelle
Government of Ontario claims that Toronto is the capital of Ontario
n'est pas aussi bien fondée n'est pas fondée.VALUE
: valeur de l'attribut (par exemple,Simple Wikipedia
ouTitanic (1997 film)
).CITATION_THRESHOLD
: valeur flottante comprise entre 0 et 1 qui détermine si un fait doit être cité pour une affirmation dans la réponse candidate. Un seuil plus élevé entraîne moins de citations, mais plus solides pour étayer l'affirmation, tandis qu'un seuil plus faible entraîne plus de citations, mais moins solides pour étayer l'affirmation. Si elle n'est pas définie, la valeur par défaut du seuil est 0,6.ENABLE_ANTI_CITATION
: valeur booléenne. Définissez ce champ surtrue
pour permettre à la fonctionnalité expérimentale d'évaluer le score de contradiction. Pour désactiver cette fonctionnalité, supprimez ce champ ou définissez-le surfalse
.ANTI_CITATION_THRESHOLD
: valeur flottante comprise entre 0 et 1 qui détermine si un fait doit être cité comme contredisant une affirmation dans la réponse candidate. Un seuil plus élevé entraîne moins de citations contredisant l'affirmation, mais celles-ci sont plus fortes. Un seuil plus faible entraîne plus de citations contredisant l'affirmation, mais celles-ci sont plus faibles. Si elle n'est pas définie, la valeur par défaut du seuil est 0,8.
Exemple de requête
À l'aide des exemples de faits de la section précédente, vous pouvez envoyer la requête suivante. Remplacez le champ CANDIDATE
par différentes chaînes dont vous souhaitez vérifier la justification et les contradictions.
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",
}
}'
Exemples de réponses contradictoires
Le tableau suivant présente un exemple de réponse candidate et sa réponse lorsque vous envoyez l'exemple de requête, en fonction des faits.
Réponse candidate | Vérifier la réponse de mise à la terre |
---|---|
Titanic was directed by James Cameron. It starred Brad Pitt and
Kate Winslet
|
Score d'appui: 0.36 Score de contradiction: 0.49 Fragments cités :
|
Obtenir un score d'utilité pour une réponse candidate
Pour essayer cette fonctionnalité expérimentale, contactez l'équipe chargée de votre compte Google et demandez à être ajouté à la liste d'autorisation.
En plus du score d'appui et du score de contradiction, l'API check grounding peut fournir un score d'utilité. Une réponse utile est celle qui répond efficacement à la requête de l'utilisateur (comme indiqué dans l'invite) de manière informative. Le score d'utilité mesure dans quelle mesure la réponse:
- Répond à l'intent principal de la requête
- Fournit des informations complètes tout en étant concise
- Répond directement à la question posée ou effectue la tâche demandée dans l'invite
- Fournit des informations pertinentes
- est claire et simple ;
- Évite les détails inutiles et le jargon
Pour obtenir un score d'utilité en plus du score d'ancrage, vous devez fournir une invite avec les réponses candidates et les faits. L'API de vérification de la pertinence examine la réponse candidate avec l'invite et attribue un score qui indique dans quelle mesure la réponse candidate répond à l'invite. Le score est compris dans la plage [0,1]. Plus le score est élevé, plus la réponse est utile.
Obtenir un score d'utilité
Pour obtenir le score d'utilité, procédez comme suit:
Préparez votre invite et votre réponse au candidat.
Appelez la méthode
check
à l'aide de la commande curl suivante: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", }'
Remplacez les éléments suivants :
PROJECT_ID
: numéro ou ID de votre projet Google Cloud.CANDIDATE
: chaîne de réponse candidate pour laquelle vous souhaitez obtenir un score d'utilité (par exemple,Titanic was directed by James Cameron. It was released in 1997.
). Une réponse candidate peut avoir une longueur maximale de 4 096 jetons.TEXT
: segment de texte à utiliser pour l'ancrage (par exemple,Titanic is a 1997 American epic... Academy Awards.
). Consultez le texte complet dans Exemples de faits.ATTRIBUTE
: nom d'un attribut de métadonnées associé au fait (par exemple,author
outitle
). Il s'agit d'un libellé défini par l'utilisateur pour ajouter plus d'informations au texte de la vérification. Par exemple, si le texte factuelToronto is the capital of Ontario
possède un attributauthor
dont la valeur estWikipedia
, les affirmations suivantes sont fondées:Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
Toutefois, l'affirmation selon laquelle
Government of Ontario claims that Toronto is the capital of Ontario
n'est pas aussi bien fondée n'est pas fondée.VALUE
: valeur de l'attribut (par exemple,Simple Wikipedia
ouTitanic (1997 film)
).PROMPT
: l'invite est la requête à laquelle la réponse candidate a été générée (par exemple,Who directed and starred in the movie Titanic?
).
Exemple de requête
À l'aide des exemples de faits de la section précédente, vous pouvez envoyer la requête suivante. Remplacez le champ CANDIDATE
par différentes réponses candidates pour obtenir un score d'utilité pour la réponse.
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?"
}'
Exemples de réponses avec des scores d'utilité
Le tableau suivant présente des exemples de réponses candidates avec leur score d'utilité. Dans chaque cas, l'invite est Who directed and starred in the Titanic?
.
Réponse candidate | Score d'utilité | Explication du score |
---|---|---|
Titanic was directed by James Cameron. It starred Leonardo DiCaprio and
Kate Winslet.
|
0.980
|
Score concis et complet |
Cameron, DiCaprio and Winslet.
|
0.947
|
Incomplet |
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 concise |
Obtenir des scores au niveau de la revendication pour une réponse candidate
En plus du score d'éligibilité au niveau de la réponse, vous pouvez obtenir un score d'éligibilité au niveau de la revendication pour chaque revendication d'une réponse candidate.
Pour essayer cette fonctionnalité expérimentale, contactez l'équipe chargée de votre compte Google et demandez à être ajouté à la liste d'autorisation.
Pour obtenir les scores au niveau de la revendication, procédez comme suit:
Préparez votre ensemble de faits. Pour en savoir plus et obtenir des exemples, consultez la section Définition et explication des termes.
Appelez la méthode
check
à l'aide de la commande curl suivante: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", } }'
Remplacez les éléments suivants :
PROJECT_ID
: numéro ou ID de votre projet Google Cloud.CANDIDATE
: chaîne de réponse candidate pour laquelle vous souhaitez obtenir un score d'assistance (par exemple,Titanic was directed by James Cameron. It was released in 1997.
). Une réponse candidate peut avoir une longueur maximale de 4 096 jetons, où un jeton est défini comme un mot dans une phrase ou un point (un signe de ponctuation utilisé pour terminer la phrase). Par exemple, la phrase "Ils portaient des vêtements prêts à porter en 2024." compte sept jetons, dont six mots et un point.TEXT
: segment de texte à utiliser pour l'ancrage (par exemple,Titanic is a 1997 American epic... Academy Awards.
). Consultez le texte complet dans Exemples de faits.ATTRIBUTE
: nom d'un attribut de métadonnées associé au fait (par exemple,author
outitle
). Il s'agit d'un libellé défini par l'utilisateur pour ajouter plus d'informations au texte de la vérification. Par exemple, si le texte factuelToronto is the capital of Ontario
possède un attributauthor
dont la valeur estWikipedia
, les affirmations suivantes sont fondées:Wikipedia cites that Toronto is the capital of Ontario
Toronto is the capital of Ontario
Toutefois, l'affirmation selon laquelle
Government of Ontario claims that Toronto is the capital of Ontario
n'est pas aussi bien fondée n'est pas fondée.VALUE
: valeur de l'attribut (par exemple,Simple Wikipedia
ouTitanic (1997 film)
).CITATION_THRESHOLD
: valeur flottante comprise entre 0 et 1 qui détermine si un fait doit être cité pour une affirmation dans la réponse candidate. Un seuil plus élevé entraîne moins de citations, mais plus solides pour étayer l'affirmation, tandis qu'un seuil plus faible entraîne plus de citations, mais moins solides pour étayer l'affirmation. Si elle n'est pas définie, la valeur par défaut du seuil est 0,6.ENABLE_CLAIM_LEVEL_SCORE
: valeur booléenne. Définissez ce champ surtrue
pour activer la fonctionnalité de score au niveau de la revendication. Pour désactiver cette fonctionnalité, supprimez ce champ ou définissez-le surfalse
.
Exemple de requête
À l'aide des exemples de faits de la section précédente, vous pouvez envoyer la requête suivante. Remplacez le champ CANDIDATE
par différentes chaînes dont vous souhaitez vérifier l'ancrage par revendication.
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,
}
}'
Exemples de réponses avec des scores au niveau de la revendication
Le tableau suivant présente un exemple de réponse candidate et sa réponse lorsque vous envoyez l'exemple de requête, en fonction des faits.
Réponse candidate | Vérifier la réponse de mise à la terre |
---|---|
Here is what I found. Titanic was directed by James Cameron. It
starred Kate Winslet and Leonardo DiCaprio.
|
Score d'éligibilité: 0.99 Blocs cités :
|
Vérifier la mise à la terre avec un data store
Par défaut, la mise à la terre est vérifiée par rapport à un ensemble de faits fournis en ligne dans l'appel d'API de vérification de la mise à la terre. Toutefois, au lieu de fournir les faits en ligne, vous pouvez comparer la réponse candidate à tous les faits d'un data store Vertex AI Search.
Lorsque vous appelez l'API de vérification de l'ancrage, vous fournissez le nom d'une application de recherche Vertex AI. À leur tour, les datastores non structurés associés à cette application de recherche contiennent l'ensemble de faits utilisés pour vérifier l'ancrage de la réponse candidate.
Pour vérifier la mise à la terre par rapport à un data store, procédez comme suit:
Identifiez une application de recherche générique associée à au moins un data store contenant des données non structurées. Les documents de ce data store servent de source pour vos faits d'ancrage.
Pour savoir comment créer un data store et une application de recherche, consultez Créer un data store de recherche et Créer une application de recherche.
Recherchez votre ID d'application. Si vous disposez déjà de votre ID d'application, passez à l'étape suivante.
Dans la console Google Cloud, accédez à la page Agent Builder.
Sur la page Applications, recherchez le nom de votre application et obtenez son ID dans la colonne ID.
Appelez la méthode
check
à l'aide de la commande curl suivante: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" } }'
Remplacez les éléments suivants :
PROJECT_ID
: numéro ou ID de votre projet Google Cloud.SOURCE_PROJECT_ID
: numéro ou ID du projet contenant l'application de mise à la terre.Ce projet source doit se trouver dans la même région que votre projet (par exemple,
global
oueu
). (Pour en savoir plus sur les zones multirégionales, consultez la section Zone.)CANDIDATE
: chaîne de réponse candidate pour laquelle vous souhaitez obtenir un score d'assistance (par exemple,Titanic was directed by James Cameron. It was released in 1997.
). Une réponse candidate peut avoir une longueur maximale de 4 096 jetons, où un jeton est défini comme un mot dans une phrase ou un point (un signe de ponctuation utilisé pour terminer la phrase). Par exemple, la phrase "Ils portaient des vêtements prêts à porter en 2024." compte sept jetons, dont six mots et un point.APP_ID
: ID de l'application de recherche Vertex AI dont les datastores de données non structurées contiennent les faits que vous souhaitez utiliser comme source d'ancrage.