En esta página, se muestra cómo ejecutar evaluaciones para tus modelos y aplicaciones de lenguaje generativo con el servicio de evaluación de IA generativa.
Antes de comenzar
Instala el SDK de Vertex AI
Para instalar el módulo de Gen AI Evaluation desde el SDK de Vertex AI para Python, ejecuta el siguiente comando:
!pip install -q google-cloud-aiplatform[evaluation]
Si quieres obtener más información, consulta Instala el SDK de Vertex AI para Python.
Autentica el SDK de Vertex AI
Después de instalar el SDK de Vertex AI para Python, debes autenticarte. En los siguientes temas, se explica cómo autenticar con el SDK de Vertex AI si trabajas de forma local y en Colaboratory:
Si desarrollas de manera local, configura las credenciales predeterminadas de la aplicación (ADC) en tu entorno local:
Instala Google Cloud CLI y, luego, inicialízala a través de la ejecución del siguiente comando:
gcloud init
Crea credenciales de autenticación locales para tu Cuenta de Google:
gcloud auth application-default login
Se muestra una pantalla de acceso. Después de acceder, tus credenciales se almacenan en el archivo de credenciales local que usa ADC. Si deseas obtener más información, consulta Configura ADC para un entorno de desarrollo local.
Si trabajas en Colaboratory, ejecuta el siguiente comando en una celda de Colab para autenticarte:
from google.colab import auth auth.authenticate_user()
Este comando abre una ventana en la que puedes completar la autenticación.
Comprende las cuentas de servicio
El servicio de evaluación de IA generativa usa la cuenta de servicio para obtener predicciones de la API de Gemini en Vertex AI para las métricas de evaluación basadas en modelos. Esta cuenta de servicio se aprovisiona automáticamente en la primera solicitud al servicio de evaluación de IA generativa.
Nombre | Descripción | Dirección de correo electrónico | Rol |
---|---|---|---|
Agente de servicio de Rapid Eval de Vertex AI | La cuenta de servicio que se usa para obtener predicciones para la evaluación basada en modelos. | service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com |
roles/aiplatform.rapidevalServiceAgent |
Los permisos asociados con el agente de servicio de evaluación rápida son los siguientes:
Rol | Permisos |
---|---|
Agente de servicio de Rapid Eval de Vertex AI (roles/aiplatform.rapidevalServiceAgent) | aiplatform.endpoints.predict |
Ejecuta tu evaluación
El servicio de evaluación de IA generativa usa el siguiente proceso basado en el cliente para ejecutar evaluaciones:
run_inference()
: Genera respuestas a partir de tu modelo para un conjunto determinado de instrucciones.evaluate()
: Calcula métricas sobre las respuestas generadas.
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()
Para analizar el rendimiento de varios modelos o sistemas de IA en una sola evaluación, genera una respuesta para cada candidato y pásalas en una lista al método 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()
Revisa o reutiliza las rúbricas generadas para la evaluación
Para generar previamente rúbricas adaptativas y revisarlas antes de la evaluación, o bien reutilizar rúbricas generadas anteriormente, usa el siguiente código:
# 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()
: Genera rúbricas con un flujo de trabajo predefinido asociado a la métrica.run_inference()
: Genera respuestas a partir de tu modelo para un conjunto determinado de instrucciones.evaluate()
: Valida las respuestas según las rúbricas proporcionadas.
Evaluación asíncrona y a gran escala
Para conjuntos de datos grandes, el servicio de evaluación de IA generativa proporciona un método de evaluación por lotes asíncrono de larga duración. Esto es ideal para situaciones en las que no necesitas resultados inmediatos y deseas descargar el procesamiento.
El método batch_evaluate()
devuelve un objeto de operación que puedes sondear para hacer un seguimiento de su progreso. Los parámetros son compatibles con el método evaluate()
.
GCS_DEST_BUCKET = "gs://your-gcs-bucket/batch_eval_results/"
inference_result_saved = client.evals.run_inference(
model="gemini-2.0-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.TEXT_QUALITY,
types.RubricMetric.INSTRUCTION_FOLLOWING,
types.RubricMetric.FLUENCY,
types.Metric(name='bleu'),
],
dest=GCS_DEST_BUCKET
)
Cómo evaluar modelos de terceros
Puedes usar el servicio de evaluación de IA generativa para evaluar y comparar modelos de proveedores como OpenAI pasando la cadena del nombre del modelo al método run_inference
. El servicio de evaluación de IA generativa usa la biblioteca litellm
para llamar a la API del modelo.
Asegúrate de establecer la clave de API requerida como una variable de entorno (como 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()