Cette page vous explique comment exécuter des évaluations pour vos modèles et applications de langage génératif avec le service d'évaluation de l'IA générative.
Avant de commencer
Installez le SDK Vertex AI
Pour installer le module d'évaluation de l'IA générative à partir du SDK Vertex AI pour Python, exécutez la commande suivante :
!pip install -q google-cloud-aiplatform[evaluation]
Pour en savoir plus, consultez la section Installer le SDK Vertex AI pour Python.
Authentifier le SDK Vertex AI
Après avoir installé le SDK Vertex AI pour Python, vous devez vous authentifier. Les rubriques suivantes expliquent comment s'authentifier auprès du SDK Vertex AI si vous travaillez en local et dans Colaboratory :
Si vous développez en local, configurez les identifiants par défaut de l'application dans votre environnement local:
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
Créez des identifiants d'authentification locaux pour votre compte Google :
gcloud auth application-default login
Un écran de connexion s'affiche. Une fois que vous êtes connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par ADC. Pour en savoir plus, consultez Configurer les ADC pour un environnement de développement local.
Si vous travaillez dans Colaboratory, exécutez la commande suivante dans une cellule Colab pour vous authentifier :
from google.colab import auth auth.authenticate_user()
Cette commande ouvre une fenêtre dans laquelle vous pouvez terminer l'authentification.
Comprendre les comptes de service
Le compte de service est utilisé par le service d'évaluation de l'IA générative pour obtenir des prédictions auprès de l'API Gemini dans Vertex AI pour les métriques d'évaluation basées sur un modèle. Ce compte de service est automatiquement provisionné lors de la première requête adressée au service d'évaluation de l'IA générative.
Nom | Description | Adresse e-mail | Rôle |
---|---|---|---|
Agent de service d'évaluation rapide Vertex AI | Compte de service utilisé pour obtenir des prédictions pour l'évaluation basée sur un modèle. | service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com |
roles/aiplatform.rapidevalServiceAgent |
Les autorisations associées à l'agent de service d'évaluation rapide sont les suivantes:
Rôle | Autorisations |
---|---|
Agent de service d'évaluation rapide Vertex AI (roles/aiplatform.rapidevalServiceAgent) | aiplatform.endpoints.predict |
Exécuter votre évaluation
Le service d'évaluation de l'IA générative utilise le processus client suivant pour exécuter les évaluations :
run_inference()
: générez des réponses à partir de votre modèle pour un ensemble de requêtes donné.evaluate()
: calcule les métriques sur les réponses générées.
eval_dataset = client.evals.run_inference(
model="gemini-2.5-flash",
src="gs://vertex-evaluation-llm-dataset-us-central1/genai_eval_sdk/test_prompts.jsonl",
)
eval_dataset.show()
eval_result = client.evals.evaluate(
dataset=eval_dataset,
metrics=[
types.RubricMetric.TEXT_QUALITY,
types.RubricMetric.QUESTION_ANSWERING_QUALITY,
types.Metric(name='bleu'),
types.Metric(name='rouge_1'),
]
)
eval_result.show()
Pour analyser les performances de plusieurs modèles ou systèmes d'IA dans une même évaluation, générez une réponse pour chaque candidat et transmettez-les dans une liste à la méthode evaluate()
:
inference_result_1 = client.evals.run_inference(
model="gemini-2.0-flash",
src=prompts_df,
)
inference_result_2 = client.evals.run_inference(
model="gemini-2.5-flash",
src=prompts_df,
)
# Compare the responses against each other
comparison_result = client.evals.evaluate(
dataset=[inference_result_1, inference_result_2],
metrics=[
types.RubricMetric.TEXT_QUALITY,
types.RubricMetric.INSTRUCTION_FOLLOWING,
]
)
comparison_result.show()
Examiner ou réutiliser des grilles d'évaluation générées pour l'évaluation
Pour pré-générer des grilles d'évaluation adaptatives et les examiner avant l'évaluation, ou pour réutiliser des grilles d'évaluation générées précédemment, utilisez le code suivant :
# Step 1. Generate rubrics
# Rubrics would be saved in a group named "general_quality_rubrics".
data_with_rubrics = client.evals.generate_rubrics(
src=prompts_df,
rubric_group_name="general_quality_rubrics",
predefined_spec_name=types.RubricMetric.GENERAL_QUALITY,
)
# Step 2. Run Inference
eval_dataset = client.evals.run_inference(
model=inference_model,
src=data_with_rubrics,
)
# Step 3. Evaluate with provided rubrics
# The group of rubric named "general_quality_rubrics" will be used for evaluation.
eval_result = client.evals.evaluate(
dataset=eval_dataset,
metrics=[types.RubricMetric.GENERAL_QUALITY(
rubric_group_name="general_quality_rubrics",
)],
)
generate_rubrics()
: générez des rubriques avec un workflow prédéfini associé à la métrique.run_inference()
: générez des réponses à partir de votre modèle pour un ensemble de requêtes donné.evaluate()
: validez les réponses en fonction des rubriques fournies.
Évaluation asynchrone et à grande échelle
Pour les ensembles de données volumineux, le service d'évaluation de l'IA générative propose une méthode d'évaluation par lot asynchrone et de longue durée. Cette approche est idéale dans les scénarios où vous n'avez pas besoin de résultats immédiats et où vous souhaitez décharger le calcul.
La méthode batch_evaluate()
renvoie un objet d'opération que vous pouvez interroger pour suivre sa progression. Les paramètres sont compatibles avec la méthode evaluate()
.
GCS_DEST_BUCKET = "gs://your-gcs-bucket/batch_eval_results/"
inference_result_saved = client.evals.run_inference(
model="gemini-2.5-flash",
src=prompts_df,
config={'dest': GCS_DEST_BUCKET}
)
print(f"Eval dataset uploaded to: {inference_result_saved.gcs_source}")
batch_eval_job = client.evals.batch_evaluate(
dataset = inference_result_saved,
metrics = [
types.RubricMetric.FLUENCY,
types.RubricMetric.COHERENCE,
types.Metric(name='rouge_1'),
types.Metric(name='bleu'),
],
dest=GCS_DEST_BUCKET
)
Évaluer des modèles tiers
Vous pouvez utiliser le service d'évaluation de l'IA générative pour évaluer et comparer des modèles de fournisseurs tels qu'OpenAI en transmettant la chaîne du nom du modèle à la méthode run_inference
. Le service d'évaluation de l'IA générative utilise la bibliothèque litellm
pour appeler l'API du modèle.
Assurez-vous de définir la clé API requise en tant que variable d'environnement (par exemple, OPENAI_API_KEY
) :
import os
# Set your third-party model API key
os.environ['OPENAI_API_KEY'] = 'YOUR_OPENAI_API_KEY'
# Run inference on an OpenAI model
gpt_response = client.evals.run_inference(
model='gpt-4o',
src=prompt_df
)
# You can now evaluate the responses
eval_result = client.evals.evaluate(
dataset=gpt_response,
metrics=[types.RubricMetric.TEXT_QUALITY]
)
eval_result.show()