Nesta página, mostramos como executar avaliações para seus modelos e aplicativos de linguagem generativa com o serviço de avaliação de IA generativa.
Antes de começar
Instale o SDK da Vertex AI
Para instalar o módulo de avaliação de IA generativa do SDK da plataforma de agentes para Python, execute o seguinte comando:
!pip install -q google-cloud-aiplatform[evaluation]
Para mais informações, consulte Instalar o SDK da plataforma de agentes para Python.
Autenticar o SDK da Vertex AI
Depois de instalar o SDK da plataforma de agentes para Python, é preciso fazer a autenticação. Os tópicos a seguir explicam como autenticar com o SDK da Vertex AI se você estiver trabalhando localmente e no Colaboratory:
Se você estiver desenvolvendo localmente, configure o Application Default Credentials (ADC) no seu ambiente local:
Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:
gcloud initCrie as credenciais de autenticação para sua Conta do Google:
gcloud auth application-default loginUma tela de login será exibida. Após o login, suas credenciais são armazenadas no arquivo de credenciais local usado pelo ADC. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local.
Se você estiver trabalhando no Colaboratory, execute o seguinte comando em uma célula do Colab para autenticar:
from google.colab import auth auth.authenticate_user()Esse comando abre uma janela em que você pode concluir a autenticação.
Como entender as contas de serviço
A conta de serviço é usada pelo serviço de avaliação de IA generativa para receber previsões da API Gemini na plataforma de agentes do Gemini Enterprise para métricas de avaliação baseadas em modelo. Essa conta de serviço é provisionada automaticamente na primeira solicitação para o serviço de avaliação de IA generativa.
| Nome | Descrição | Endereço de e-mail | Papel |
|---|---|---|---|
| Agente de serviço de avaliação rápida da plataforma de agentes | A conta de serviço usada para receber previsões para avaliação baseada em modelo. | service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com |
roles/aiplatform.rapidevalServiceAgent |
As permissões associadas ao agente de serviço de avaliação rápida são:
| Papel | Permissões |
|---|---|
| Agente de serviço de avaliação rápida da plataforma de agentes (roles/aiplatform.rapidevalServiceAgent) | aiplatform.endpoints.predict |
Executar a avaliação
O serviço de avaliação de IA generativa usa o seguinte processo baseado no cliente para executar avaliações:
run_inference(): gera respostas do modelo para um determinado conjunto de comandos.evaluate(): calcula métricas nas respostas geradas.
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 analisar a performance de vários modelos ou sistemas de IA em uma única avaliação, gere uma resposta para cada candidato e transmita-as em uma lista para o 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()
Analisar ou reutilizar rubricas geradas para avaliação
Para pré-gerar rubricas adaptáveis e analisá-las antes da avaliação ou reutilizar rubricas geradas anteriormente, use o seguinte 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(): gera rubricas com um fluxo de trabalho predefinido pareado com a métrica.run_inference(): gera respostas do modelo para um determinado conjunto de comandos.evaluate(): valida respostas com base nas rubricas fornecidas.
Avaliação assíncrona e em grande escala
Para conjuntos de dados grandes, o serviço de avaliação de IA generativa oferece um método de avaliação em lote assíncrono e de longa duração. Isso é ideal para cenários em que você não precisa de resultados imediatos e quer descarregar a computação.
O método batch_evaluate() retorna um objeto de operação que pode ser pesquisado para acompanhar o progresso. Os parâmetros são compatíveis com o método 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
)
Avaliação de modelos de terceiros
Você pode usar o serviço de avaliação de IA generativa para avaliar e comparar modelos de provedores como a OpenAI transmitindo a string do nome do modelo para o método run_inference. O serviço de avaliação de IA generativa usa a biblioteca litellm para chamar a API do modelo.
Defina a chave de API necessária como uma variável de ambiente (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()