Questa pagina mostra come eseguire valutazioni per i tuoi modelli e applicazioni linguistici generativi con il servizio di valutazione dell'AI generativa.
Prima di iniziare
Prima di eseguire le valutazioni, completa i seguenti prerequisiti:
Installa l'SDK Agent Platform
Per installare il modulo di valutazione AI generativa dall'SDK Agent Platform per Python, esegui questo comando:
!pip install -q google-cloud-aiplatform[evaluation]
Per saperne di più, consulta Installa l'SDK Agent Platform per Python.
Autentica l'SDK Agent Platform
Dopo aver installato l'SDK Agent Platform per Python, devi eseguire l'autenticazione. I seguenti argomenti spiegano come eseguire l'autenticazione con l'SDK Agent Platform se lavori in locale e se lavori in Colaboratory:
Se lo sviluppo avviene in locale, configura le Credenziali predefinite dell'applicazione (ADC) nel tuo ambiente locale:
Installa Google Cloud CLI, quindi inizializzala eseguendo questo comando:
gcloud initCrea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default loginViene visualizzata una schermata di accesso. Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC. Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale.
Se lavori in Colaboratory, esegui questo comando in una cella di Colab per l'autenticazione:
from google.colab import auth auth.authenticate_user()Questo comando apre una finestra in cui puoi completare l'autenticazione.
Informazioni sugli account di servizio
Il service account viene utilizzato dal servizio di valutazione dell'AI generativa per ottenere previsioni dall'API Gemini in Gemini Enterprise Agent Platform per le metriche di valutazione basate su modelli. Il provisioning di questo account di servizio viene eseguito automaticamente alla prima richiesta al servizio di valutazione dell'AI generativa.
| Nome | Descrizione | Indirizzo email | Ruolo |
|---|---|---|---|
| Agent Platform Rapid Eval Service Agent | Il account di servizio utilizzato per ottenere le previsioni per la valutazione basata su modelli. | service-PROJECT_NUMBER@gcp-sa-vertex-eval. |
roles/aiplatform.rapidevalServiceAgent |
Le autorizzazioni associate all'agente di servizio di valutazione rapida sono:
| Ruolo | Autorizzazioni |
|---|---|
Vertex AI Rapid Eval Service Agent (roles/aiplatform.rapidevalServiceAgent) |
aiplatform.endpoints.predict |
Esegui la valutazione
Il servizio di valutazione dell'AI generativa utilizza il seguente processo basato sul client per l'esecuzione delle valutazioni:
run_inference(): genera risposte dal modello per un determinato insieme di prompt.evaluate(): calcola le metriche sulle risposte generate.
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()
Per analizzare le prestazioni di più modelli di AI o sistemi in un'unica valutazione, genera una risposta per ogni candidato e passale in un elenco al metodo 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()
Esamina o riutilizza le griglie generate per la valutazione
Per pre-generare griglie adattive e rivederle prima della valutazione o per riutilizzare griglie generate in precedenza, utilizza il seguente codice:
# 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 griglie con un workflow predefinito associato alla metrica.run_inference(): genera risposte dal modello per un determinato insieme di prompt.evaluate(): convalida le risposte in base alle grbriche fornite.
Valutazione asincrona e su larga scala
Per i set di dati di grandi dimensioni, il servizio di valutazione dell'AI generativa fornisce un metodo di valutazione in batch asincrono e a lunga esecuzione. Questa opzione è ideale per gli scenari in cui non hai bisogno di risultati immediati e vuoi scaricare il calcolo.
Il metodo batch_evaluate() restituisce un oggetto operazione di cui puoi eseguire il polling per monitorarne l'avanzamento. I parametri sono compatibili con il metodo 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
)
Valutazione dei modelli di terze parti
Puoi utilizzare il Gen AI evaluation service per valutare e confrontare i modelli di provider come OpenAI passando la stringa del nome del modello al metodo run_inference. Il servizio di valutazione dell'AI generativa utilizza la libreria litellm per chiamare l'API del modello.
Assicurati di impostare la chiave API richiesta come variabile di ambiente (ad esempio 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()