Gen AI Evaluation Service vous permet d'évaluer vos grands modèles de langage (LLM) selon plusieurs métriques, en fonction de vos propres critères. Vous pouvez fournir des entrées de temps d'inférence, des réponses LLM et des paramètres supplémentaires. Gen AI Evaluation Service renvoie des métriques spécifiques à la tâche d'évaluation.
Celles-ci incluent des métriques basées sur un modèle, telles que PointwiseMetric
et PairwiseMetric
, des métriques calculées en mémoire, telles que rouge
et bleu
, ainsi que des métriques d'appel de fonction d'outil.
PointwiseMetric
et PairwiseMetric
sont des métriques génériques basées sur un modèle que vous pouvez personnaliser avec vos propres critères.
Étant donné que le service utilise directement les résultats de la prédiction des modèles en tant qu'entrée, le service d'évaluation peut effectuer une inférence et une évaluation ultérieure sur tous les modèles acceptés par Vertex AI.
Pour en savoir plus sur l'évaluation d'un modèle, consultez Présentation de Gen AI Evaluation Service.
Limites
Voici les limites du service d'évaluation :
- Le service d'évaluation peut présenter un délai de propagation lors de votre premier appel.
- La plupart des métriques basées sur un modèle consomment un quota gemini-2.0-flash, car Gen AI Evaluation Service utilise
gemini-2.0-flash
comme modèle d'évaluation sous-jacent pour calculer ces métriques. - Certaines métriques basées sur un modèle, telles que MetricX et COMET, utilisent des modèles de machine learning différents. Elles ne consomment donc pas de quota gemini-2.0-flash.
Exemple de syntaxe
Syntaxe pour envoyer un appel d'évaluation.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances \ -d '{ "pointwise_metric_input" : { "metric_spec" : { ... }, "instance": { ... }, } }'
Python
import json from google import auth from google.api_core import exceptions from google.auth.transport import requests as google_auth_requests creds, _ = auth.default( scopes=['https://www.googleapis.com/auth/cloud-platform']) data = { ... } uri = f'https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
Liste des paramètres
Paramètres | |
---|---|
|
Facultatif : Entrée permettant de déterminer si la prédiction correspond exactement à la référence. |
|
Facultatif : Entrée permettant de calculer le score BLEU en comparant la prédiction à la référence. |
|
Facultatif : Entrée permettant de calculer les scores |
|
Facultatif : Entrée permettant d'évaluer la maîtrise du langage d'une seule réponse. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir une réponse cohérente et facile à suivre. |
|
Facultatif : Entrée permettant d'évaluer le niveau de sécurité d'une réponse unique. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir ou à référencer des informations incluses uniquement dans le texte d'entrée. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à adhérer complètement aux instructions. |
|
Facultatif : Entrée permettant d'évaluer la capacité globale d'une réponse à résumer du texte. |
|
Facultatif : Entrée permettant de comparer la qualité globale de synthèse de deux réponses. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir un résumé qui contient les détails nécessaires pour se substituer au texte d'origine. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir un résumé succinct. |
|
Facultatif : Entrée permettant d'évaluer la capacité globale d'une réponse unique à répondre à des questions, à partir d'un corps de texte à référencer. |
|
Facultatif : Entrée permettant de comparer la capacité globale de deux réponses à répondre à des questions, à partir d'un corps de texte à référencer. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à répondre avec des informations pertinentes lorsqu'on lui pose une question. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir des détails clés dans sa réponse à une question. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à répondre correctement à une question. |
|
Facultatif : Entrée pour une évaluation par point générique. |
|
Facultatif : Entrée pour une évaluation par paire générique. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à prédire un appel d'outil valide. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à prédire un appel d'outil avec le nom d'outil approprié. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à prédire un appel d'outil avec des noms de paramètres corrects. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à prédire un appel d'outil avec des noms et des valeurs de paramètres corrects. |
|
Facultatif : Entrée permettant d'effectuer une évaluation à l'aide de COMET. |
|
Facultatif : Entrée permettant d'effectuer une évaluation à l'aide de MetricX. |
ExactMatchInput
{ "exact_match_input": { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Réponse clé du LLM pour référence. |
ExactMatchResults
{ "exact_match_results": { "exact_match_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
Résultats d'évaluation par entrée d'instance. |
|
L'un des types suivants :
|
BleuInput
{ "bleu_input": { "metric_spec": { "use_effective_order": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Indique si les ordres des n-grammes sans correspondance doivent être pris en compte. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Réponse clé du LLM pour référence. |
BleuResults
{ "bleu_results": { "bleu_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
Résultats d'évaluation par entrée d'instance. |
|
|
RougeInput
{ "rouge_input": { "metric_spec": { "rouge_type": string, "use_stemmer": bool, "split_summaries": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Valeurs acceptables :
|
|
Facultatif : Indique si le stemmer de Porter doit être utilisé pour supprimer les suffixes de mots afin d'améliorer la correspondance. |
|
Facultatif : Indique s'il faut ajouter des sauts de ligne entre les phrases pour rougeLsum. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Réponse clé du LLM pour référence. |
RougeResults
{ "rouge_results": { "rouge_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
Résultats d'évaluation par entrée d'instance. |
|
|
FluencyInput
{ "fluency_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse du LLM. |
FluencyResult
{ "fluency_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
CoherenceInput
{ "coherence_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse du LLM. |
CoherenceResult
{ "coherence_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
SafetyInput
{ "safety_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse du LLM. |
SafetyResult
{ "safety_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
GroundednessInput
{ "groundedness_input": { "metric_spec": {}, "instance": { "prediction": string, "context": string } } }
Paramètre |
Description |
|
Facultatif : GroundednessSpec Spécification de la métrique, qui définit son comportement. |
|
Facultatif : GroundednessInstance Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
GroundednessResult
{ "groundedness_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
FulfillmentInput
{ "fulfillment_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
FulfillmentResult
{ "fulfillment_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
SummarizationQualityInput
{ "summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
SummarizationQualityResult
{ "summarization_quality_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
PairwiseSummarizationQualityInput
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM du modèle de référence. |
|
Facultatif : Réponse LLM du modèle candidat. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
PairwiseSummarizationQualityResult
{ "pairwise_summarization_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
SummarizationHelpfulnessInput
{ "summarization_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
SummarizationHelpfulnessResult
{ "summarization_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
SummarizationVerbosityInput
{ "summarization_verbosity_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
SummarizationVerbosityResult
{ "summarization_verbosity_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
QuestionAnsweringQualityInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
QuestionAnsweringQualityResult
{ "question_answering_quality_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
PairwiseQuestionAnsweringQualityInput
{ "pairwise_question_answering_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM du modèle de référence. |
|
Facultatif : Réponse LLM du modèle candidat. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
PairwiseQuestionAnsweringQualityResult
{ "pairwise_question_answering_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
QuestionAnsweringRelevanceInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
QuestionAnsweringRelevancyResult
{ "question_answering_relevancy_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
QuestionAnsweringHelpfulnessInput
{ "question_answering_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
QuestionAnsweringHelpfulnessResult
{ "question_answering_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
QuestionAnsweringCorrectnessInput
{ "question_answering_correctness_input": { "metric_spec": { "use_reference": bool }, "instance": { "prediction": string, "reference": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Indique si une référence est utilisée ou non dans l'évaluation. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse du LLM. |
|
Facultatif : Réponse clé du LLM pour référence. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte disponible au moment de l'inférence, contenant toutes les informations pouvant être utilisées dans la réponse du LLM. |
QuestionAnsweringCorrectnessResult
{ "question_answering_correctness_result": { "score": float, "explanation": string, "confidence": float } }
Sortie | |
---|---|
|
|
|
|
|
|
PointwiseMetricInput
{ "pointwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Paramètres | |
---|---|
|
Obligatoire : Spécification de la métrique, qui définit son comportement. |
|
Obligatoire : Modèle de requête définissant la métrique. Il est représenté par les paires clé/valeur dans instance.json_instance. |
|
Obligatoire : Entrée d'évaluation, composée de json_instance. |
|
Facultatif : Les paires clé/valeur au format JSON. Par exemple, {"key_1": "value_1", "key_2": "value_2"}. Cela permet de représenter metric_spec.metric_prompt_template. |
PointwiseMetricResult
{ "pointwise_metric_result": { "score": float, "explanation": string, } }
Sortie | |
---|---|
|
|
|
|
PairwiseMetricInput
{ "pairwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Paramètres | |
---|---|
|
Obligatoire : Spécification de la métrique, qui définit son comportement. |
|
Obligatoire : Modèle de requête définissant la métrique. Il est représenté par les paires clé/valeur dans instance.json_instance. |
|
Obligatoire : Entrée d'évaluation, composée de json_instance. |
|
Facultatif : Les paires clé/valeur au format JSON. Par exemple, {"key_1": "value_1", "key_2": "value_2"}. Cela permet de représenter metric_spec.metric_prompt_template. |
PairwiseMetricResult
{ "pairwise_metric_result": { "score": float, "explanation": string, } }
Sortie | |
---|---|
|
|
|
|
ToolCallValidInput
{ "tool_call_valid_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés { "content": "", "tool_calls": [ { "name": "book_tickets", "arguments": { "movie": "Mission Impossible Dead Reckoning Part 1", "theater": "Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30", "num_tix": "2" } } ] } |
|
Facultatif : Sortie du modèle de référence au même format que la prédiction. |
ToolCallValidResults
{ "tool_call_valid_results": { "tool_call_valid_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
|
|
|
ToolNameMatchInput
{ "tool_name_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés |
|
Facultatif : Sortie du modèle de référence au même format que la prédiction. |
ToolNameMatchResults
{ "tool_name_match_results": { "tool_name_match_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
|
|
|
ToolParameterKeyMatchInput
{ "tool_parameter_key_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés |
|
Facultatif : Sortie du modèle de référence au même format que la prédiction. |
ToolParameterKeyMatchResults
{ "tool_parameter_key_match_results": { "tool_parameter_key_match_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
|
|
|
ToolParameterKVMatchInput
{ "tool_parameter_kv_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM du modèle candidat, qui est une chaîne sérialisée JSON contenant les clés |
|
Facultatif : Sortie du modèle de référence au même format que la prédiction. |
ToolParameterKVMatchResults
{ "tool_parameter_kv_match_results": { "tool_parameter_kv_match_metric_values": [ { "score": float } ] } }
Sortie | |
---|---|
|
|
|
|
CometInput
{ "comet_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif :
|
|
Facultatif : Langue source au format BCP-47. Par exemple, "es". |
|
Facultatif : Langue cible au format BCP-47. Par exemple, "es". |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. Les champs exacts utilisés pour l'évaluation dépendent de la version de COMET. |
|
Facultatif : Réponse LLM du modèle candidat. Il s'agit de la sortie du LLM en cours d'évaluation. |
|
Facultatif : Texte source. Il s'agit de la langue d'origine à partir de laquelle la prédiction a été traduite. |
|
Facultatif : Vérité terrain utilisée pour effectuer une comparaison avec la prédiction. Ce texte est dans la même langue que la prédiction. |
CometResult
{ "comet_result" : { "score": float } }
Sortie | |
---|---|
|
|
MetricxInput
{ "metricx_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, qui définit son comportement. |
|
Facultatif :
L'un des types suivants :
|
|
Facultatif : Langue source au format BCP-47. Par exemple, "es". |
|
Facultatif : Langue cible au format BCP-47. Par exemple, "es". |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. Les champs exacts utilisés pour l'évaluation dépendent de la version de MetricX. |
|
Facultatif : Réponse LLM du modèle candidat. Il s'agit de la sortie du LLM en cours d'évaluation. |
|
Facultatif : Texte source, dans la langue d'origine à partir de laquelle la prédiction a été traduite. |
|
Facultatif : Vérité terrain utilisée pour effectuer une comparaison avec la prédiction. Ce texte est dans la même langue que la prédiction. |
MetricxResult
{ "metricx_result" : { "score": float } }
Sortie | |
---|---|
|
|
Exemples
Évaluer un résultat
L'exemple suivant montre comment appeler l'API Gen AI Evaluation pour évaluer le résultat d'un LLM à l'aide de diverses métriques d'évaluation, y compris les suivantes :
summarization_quality
groundedness
fulfillment
summarization_helpfulness
summarization_verbosity
Python
Go
Évaluer un résultat : qualité des résumés par paire
L'exemple suivant montre comment appeler l'API Gen AI Evaluation Service pour évaluer le résultat d'un LLM à l'aide d'une comparaison de qualité du résumé par paire.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : .
- LOCATION : région dans laquelle traiter la requête.
- PREDICTION : réponse LLM.
- BASELINE_PREDICTION : réponse LLM du modèle de référence.
- INSTRUCTION : instruction utilisée au moment de l'inférence.
- CONTEXT : texte disponible au moment de l'inférence, contenant toutes les informations pertinentes pouvant être utilisées dans la réponse du LLM.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \
Corps JSON de la requête :
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": "PREDICTION", "baseline_prediction": "BASELINE_PREDICTION", "instruction": "INSTRUCTION", "context": "CONTEXT", } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Go
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Go.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir le score ROUGE
L'exemple suivant appelle l'API Gen AI Evaluation Service pour obtenir le score ROUGE d'une prédiction, lequel est généré par un certain nombre d'entrées. Les entrées de type ROUGE utilisent metric_spec
, qui détermine le comportement de la métrique.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : .
- LOCATION : région dans laquelle traiter la requête.
- PREDICTION : réponse LLM.
- REFERENCE : réponse LLM clé pour référence.
- ROUGE_TYPE : calcul utilisé pour déterminer le score rouge. Consultez
metric_spec.rouge_type
pour connaître les valeurs acceptables. - USE_STEMMER : détermine si le stemmer de Porter est utilisé pour supprimer les suffixes de mot afin d'améliorer la correspondance. Pour connaître les valeurs acceptables, consultez
metric_spec.use_stemmer
. - SPLIT_SUMMARIES : détermine si de nouvelles lignes sont ajoutées entre les phrases
rougeLsum
. Pour connaître les valeurs acceptables, consultezmetric_spec.split_summaries
.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \
Corps JSON de la requête :
{ "rouge_input": { "instances": { "prediction": "PREDICTION", "reference": "REFERENCE.", }, "metric_spec": { "rouge_type": "ROUGE_TYPE", "use_stemmer": USE_STEMMER, "split_summaries": SPLIT_SUMMARIES, } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Go
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Go.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Étape suivante
- Pour obtenir plus de détails, consultez la documentation Exécuter une évaluation.