Execute uma avaliação

Esta página mostra-lhe como executar avaliações para os seus modelos de linguagem generativa e aplicações com o serviço de avaliação de IA gen.

Antes de começar

Instale o SDK da Vertex AI

Para instalar o módulo de avaliação de IA gen do SDK do Vertex AI para Python, execute o seguinte comando:

!pip install -q google-cloud-aiplatform[evaluation]

Para mais informações, consulte o artigo Instale o SDK Vertex AI para Python.

Autentique o SDK Vertex AI

Depois de instalar o SDK da Vertex AI para Python, tem de se autenticar. Os seguintes tópicos explicam como fazer a autenticação com o SDK da Vertex AI se estiver a trabalhar localmente e se estiver a trabalhar no Colaboratory:

  • Se estiver a desenvolver localmente, configure as credenciais predefinidas da aplicação (ADC) no seu ambiente local:

    1. Instale a CLI do Google Cloud e, em seguida, inicialize-a executando o seguinte comando:

      gcloud init
      
    2. Crie credenciais de autenticação local para a sua Conta Google:

      gcloud auth application-default login
      

      É apresentado um ecrã de início de sessão. Depois de iniciar sessão, as suas credenciais são armazenadas no ficheiro de credenciais local usado pelo ADC. Para mais informações, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.

  • Se estiver a trabalhar no Colaboratory, execute o seguinte comando numa célula do Colab para fazer a autenticação:

    from google.colab import auth
    auth.authenticate_user()
    

    Este comando abre uma janela onde pode concluir a autenticação.

Compreender as contas de serviço

A conta de serviço é usada pelo serviço de avaliação de IA gen para obter previsões da API Gemini no Vertex AI para métricas de avaliação baseadas em modelos. Esta conta de serviço é aprovisionada automaticamente no primeiro pedido ao serviço de avaliação de IA gen.

Nome Descrição Endereço de email Função
Agente do serviço de avaliação rápida da Vertex AI A conta de serviço usada para obter previsões para a avaliação baseada em modelos. service-PROJECT_NUMBER@gcp-sa-vertex-eval.iam.gserviceaccount.com roles/aiplatform.rapidevalServiceAgent

As autorizações associadas ao agente do serviço de avaliação rápida são:

Função Autorizações
Agente do serviço de avaliação rápida da Vertex AI (roles/aiplatform.rapidevalServiceAgent) aiplatform.endpoints.predict

Execute a sua avaliação

O serviço de avaliação de IA gen usa o seguinte processo baseado no cliente para executar avaliações:

  1. run_inference(): gerar respostas do seu modelo para um determinado conjunto de comandos.

  2. evaluate(): calcule 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 o desempenho de vários modelos ou sistemas de IA numa única avaliação, gere uma resposta para cada candidato e transmita-as numa 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()

Reveja ou reutilize rubricas geradas para avaliação

Para pré-gerar rubricas adaptativas e revê-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(): gerar rubricas com um fluxo de trabalho predefinido associado à métrica.

  • run_inference(): gerar respostas do seu modelo para um determinado conjunto de comandos.

  • evaluate(): valide as respostas com base nas rubricas fornecidas.

Avaliação assíncrona e em grande escala

Para grandes conjuntos de dados, o serviço de avaliação de IA gen oferece um método de avaliação em lote assíncrono de execução prolongada. Isto é ideal para cenários em que não precisa de resultados imediatos e quer descarregar os cálculos.

O método batch_evaluate() devolve um objeto de operação que pode sondar para acompanhar o respetivo 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
)

Avaliar modelos de terceiros

Pode usar o serviço de avaliação de IA gen para avaliar e comparar modelos de fornecedores como a OpenAI transmitindo a string do nome do modelo ao método run_inference. O serviço de avaliação de IA gen usa a biblioteca litellm para chamar a API do modelo.

Certifique-se de que define a chave 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()

O que se segue?