Le service d'évaluation rapide permet aux utilisateurs d'évaluer leurs modèles LLM, par point ou par paire, sur plusieurs métriques. Les utilisateurs fournissent des entrées d'heure d'inférence, des réponses LLM et des paramètres supplémentaires, et le service renvoie des métriques spécifiques à la tâche d'évaluation. Les métriques incluent à la fois des métriques basées sur un modèle (par exemple, SummarizationQuality) et des métriques calculées en mémoire (par exemple, Rouge, Bleu et les métriques d'appel d'outil/de fonction). Étant donné que le service prend en entrée les résultats de prédiction directement à partir des modèles, il peut évaluer tous les modèles compatibles avec Vertex.
Limites
- Les métriques basées sur des modèles consomment un quota text-bison. Le service d'évaluation rapide utilise text-bison comme modèle arbitre sous-jacent pour calculer les métriques basées sur un modèle.
- Le service a un délai de propagation. Il peut ne pas être disponible pendant plusieurs minutes après le premier appel au service.
Syntaxe
- PROJECT_ID =
PROJECT_ID
- REGION =
REGION
- MODEL_ID =
MODEL_ID
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances
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://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
Liste des paramètres
Liste complète des métriques disponibles.
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 : Données permettant d'évaluer la capacité d'une réponse à fournir une réponse cohérente et facile à suivre |
|
Facultatif : Entrée permettant d'évaluer le niveau de sécurité d'une seule réponse. |
|
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 à répondre 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 la synthèse de deux réponses. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse unique à fournir une synthèse, qui contient les détails nécessaires pour remplacer le 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 à 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 donnée à 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 lors de la réponse à une question. |
|
Facultatif : Entrée permettant d'évaluer la capacité d'une réponse donnée à répondre correctement à une question. |
|
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 |
ExactMatchInput
{ "exact_match_input: { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Réponse LLM de référence pour référence. |
ExactMatchResults
{ "exact_match_results: { "exact_match_metric_values": [ { "score": float } ] } }
Résultat | |
---|---|
|
Résultats d'évaluation par entrée d'instance. |
|
Choisissez l'une des options suivantes :
|
BleuInput
{ "bleu_input: { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée de la réponse et de la référence du LLM. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Réponse LLM de référence pour référence. |
BleuResults
{ "bleu_results: { "bleu_metric_values": [ { "score": float } ] } }
Résultat | |
---|---|
|
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, définissant le comportement de la métrique. |
|
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 LLM. |
|
Facultatif : Réponse LLM de référence pour référence. |
RougeResults
{ "rouge_results: { "rouge_metric_values": [ { "score": float } ] } }
Résultat | |
---|---|
|
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, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse LLM. |
FluencyResult
{ "fluency_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
CoherenceInput
{ "coherence_input: { "metric_spec": {}, "instance": { "prediction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse LLM. |
CoherenceResult
{ "coherence_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
SafetyInput
{ "safety_input: { "metric_spec": {}, "instance": { "prediction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée de la réponse LLM. |
|
Facultatif : Réponse LLM. |
SafetyResult
{ "safety_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
GroundednessInput
{ "groundedness_input: { "metric_spec": {}, "instance": { "prediction": string, "context": string } } }
Paramètre |
Description |
|
Facultatif: GroundnessSpec Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif: GroundnessInstance Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
GroundednessResult
{ "groundedness_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
FulfillmentInput
{ "fulfillment_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
FulfillmentResult
{ "fulfillment_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
SummarizationQualityInput
{ "summarization_quality_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
SummarizationQualityResult
{ "summarization_quality_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
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, définissant le comportement de la métrique. |
|
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 d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
PairwiseSummarizationQualityResult
{ "pairwise_summarization_quality_result: { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
SummarizationHelpfulnessInput
{ "summarization_helpfulness_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
SummarizationHelpfulnessResult
{ "summarization_helpfulness_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
SummarizationVerbosityInput
{ "summarization_verbosity_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
SummarizationVerbosityResult
{ "summarization_verbosity_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
QuestionAnsweringQualityInput
{ "question_answering_quality_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
QuestionAnsweringQualityResult
{ "question_answering_quality_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
PairwiseQuestionAnsweringQualityInput
{ "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, définissant le comportement de la métrique. |
|
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 d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
PairwiseQuestionAnsweringQualityResult
{ "pairwise_question_answering_quality_result: { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
QuestionAnsweringRelevanceInput
{ "question_answering_quality_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
QuestionAnsweringRelevancyResult
{ "question_answering_relevancy_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
QuestionAnsweringHelpfulnessInput
{ "question_answering_helpfulness_input: { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
Facultatif : Entrée d'évaluation, composée des entrées d'inférence et de la réponse correspondante. |
|
Facultatif : Réponse LLM. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
QuestionAnsweringHelpfulnessResult
{ "question_answering_helpfulness_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
QuestionAnsweringCorrectnessInput
{ "question_answering_correctness_input: { "metric_spec": { "use_reference": bool }, "instance": { "prediction": string, "reference": string, "instruction": string, "context": string } } }
Paramètres | |
---|---|
|
Facultatif: |
|
Facultatif : 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 LLM. |
|
Facultatif : Réponse LLM de référence pour référence. |
|
Facultatif : Instruction utilisée au moment de l'inférence. |
|
Facultatif : Texte d'inférence contenant toutes les informations, pouvant être utilisé dans la réponse LLM. |
QuestionAnsweringCorrectnessResult
{ "question_answering_correctness_result: { "score": float, "explanation": string, "confidence": float } }
Résultat | |
---|---|
|
|
|
|
|
|
ToolCallValidInput
{ "tool_call_valid_input: { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
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 } ] } }
Résultat | |
---|---|
|
|
|
|
ToolNameMatchInput
{ "tool_name_match_input: { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
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 } ] } }
Résultat | |
---|---|
|
|
|
|
ToolParameterKeyMatchInput
{ "tool_parameter_key_match_input: { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
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 } ] } }
Résultat | |
---|---|
|
|
|
|
ToolParameterKVMatchInput
{ "tool_parameter_kv_match_input: { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Paramètres | |
---|---|
|
Facultatif : Spécification de la métrique, définissant le comportement de la métrique. |
|
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 } ] } }
Résultat | |
---|---|
|
|
|
|
Examples
- PROJECT_ID =
PROJECT_ID
- REGION =
REGION
Qualité de la synthèse par paire
Ici, nous vous expliquons comment appeler l'API d'évaluation rapide pour évaluer le résultat d'un LLM. Dans ce cas, nous effectuons une comparaison de la qualité des résumés par paire.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances \ -d '{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": "France is a country located in Western Europe.", "baseline_prediction": "France is a country.", "instruction": "Summarize the context.", "context": "France is a country located in Western Europe. It'\''s bordered by Belgium, Luxembourg, Germany, Switzerland, Italy, Monaco, Spain, and Andorra. France'\''s coastline stretches along the English Channel, the North Sea, the Atlantic Ocean, and the Mediterranean Sea. Known for its rich history, iconic landmarks like the Eiffel Tower, and delicious cuisine, France is a major cultural and economic power in Europe and throughout the world.", } } }'
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 = { "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": "France is a country located in Western Europe.", "baseline_prediction": "France is a country.", "instruction": "Summarize the context.", "context": ( "France is a country located in Western Europe. It's bordered by " "Belgium, Luxembourg, Germany, Switzerland, Italy, Monaco, Spain, " "and Andorra. France's coastline stretches along the English " "Channel, the North Sea, the Atlantic Ocean, and the Mediterranean " "Sea. Known for its rich history, iconic landmarks like the Eiffel " "Tower, and delicious cuisine, France is a major cultural and " "economic power in Europe and throughout the world." ), } } } uri = f'https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
ROUGE
Nous allons ensuite appeler l'API pour obtenir le score ROUGE d'une prédiction, en fonction d'une référence.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances \ -d '{ "rouge_input": { "instances": { "prediction": "A fast brown fox leaps over a lazy dog.", "reference": "The quick brown fox jumps over the lazy dog.", }, "instances": { "prediction": "A quick brown fox jumps over the lazy canine.", "reference": "The quick brown fox jumps over the lazy dog.", }, "instances": { "prediction": "The speedy brown fox jumps over the lazy dog.", "reference": "The quick brown fox jumps over the lazy dog.", }, "metric_spec": { "rouge_type": "rougeLsum", "use_stemmer": true, "split_summaries": true } } }'
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 = { "rouge_input": { "metric_spec": { "rouge_type": "rougeLsum", "use_stemmer": True, "split_summaries": True }, "instances": [ { "prediction": "A fast brown fox leaps over a lazy dog.", "reference": "The quick brown fox jumps over the lazy dog.", }, { "prediction": "A quick brown fox jumps over the lazy canine.", "reference": "The quick brown fox jumps over the lazy dog.", }, { "prediction": "The speedy brown fox jumps over the lazy dog.", "reference": "The quick brown fox jumps over the lazy dog.", } ] } } uri = f'https://${REGION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${REGION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))