Memahami hasil dan output
Hasil evaluasi Batch hadir dalam dua lapisan: ringkasan agregat dalam respons API, dan detail per sesi di Log. CloudWatch
Hasil agregat
Ketika evaluasi batch selesai, GetBatchEvaluation respons mencakup evaluationResults objek dengan ringkasan agregat.
Jumlah sesi
| Bidang | Deskripsi |
|---|---|
|
|
Jumlah sesi yang berhasil dievaluasi oleh semua evaluator. |
|
|
Jumlah sesi di mana setidaknya satu evaluator gagal. |
|
|
Jumlah sesi yang masih dievaluasi (0 saat pekerjaan selesai). |
|
|
Jumlah total sesi yang ditemukan dari sumber sesi. |
|
|
Jumlah sesi yang diabaikan untuk evaluasi. Layanan ini mengevaluasi hingga 500 sesi per pekerjaan. Jika lebih dari 500 sesi ditemukan, layanan memilih 500 sesi terbaru dan mengabaikan sisanya. |
Per-evaluator ringkasan
Setiap entri evaluatorSummaries menyediakan metrik agregat untuk satu evaluator:
| Bidang | Deskripsi |
|---|---|
|
|
ID pendek (misalnya, |
|
|
Skor rata-rata di semua sesi yang dievaluasi. Rentang tergantung pada evaluator (biasanya 0-1). |
|
|
Jumlah sesi yang berhasil dinilai oleh evaluator ini. |
|
|
Jumlah sesi di mana evaluator ini mengembalikan kesalahan. |
Contoh tanggapan
{ "batchEvaluationId": "12345678-1234-1234-1234-123456789012", "status": "COMPLETED", "evaluationResults": { "numberOfSessionsCompleted": 47, "numberOfSessionsFailed": 3, "numberOfSessionsIgnored": 0, "totalNumberOfSessions": 50, "evaluatorSummaries": [ { "evaluatorId": "Builtin.GoalSuccessRate", "statistics": { "averageScore": 0.72 }, "totalEvaluated": 47, "totalFailed": 0 }, { "evaluatorId": "Builtin.Helpfulness", "statistics": { "averageScore": 0.81 }, "totalEvaluated": 47, "totalFailed": 0 } ] } }
Per-session detail dalam CloudWatch Log
outputConfigBidang dalam GetBatchEvaluation respons menentukan lokasi CloudWatch Log di mana per-sesi, hasil per-evaluator ditulis sebagai peristiwa. OpenTelemetry
{ "outputConfig": { "cloudWatchConfig": { "logGroupName": "/aws/bedrock-agentcore/evaluations/batch", "logStreamName": "12345678-1234-1234-1234-123456789012" } } }
Setiap peristiwa dalam aliran log berisi detail per-putaran, per-evaluator:
| Bidang | Deskripsi |
|---|---|
|
|
Skor numerik untuk giliran ini. |
|
|
Label kategoris (misalnya, |
|
|
LLM-generated penalaran untuk skor. |
Untuk membaca peristiwa ini, gunakan API CloudWatch Log:
import boto3 logs_client = boto3.client("logs", region_name="us-west-2") response = logs_client.get_log_events( logGroupName="/aws/bedrock-agentcore/evaluations/batch", logStreamName="12345678-1234-1234-1234-123456789012", ) for event in response["events"]: print(event["message"])
Menafsirkan skor
Skor evaluasi Batch mengikuti konvensi yang sama dengan evaluasi berdasarkan permintaan:
-
Skor numerik (
value): Rentang tergantung pada evaluator. Sebagian besar evaluator bawaan mendapat skor dari 0 hingga 1, di mana lebih tinggi lebih baik. -
Label (
label): Deskripsi kategoris skor. Misalnya,Builtin.Helpfulnessmengembalikan label sepertiVery Helpful,Somewhat Helpful,Not Helpful.
Penanganan kesalahan
Job-level kesalahan
Jika pekerjaan evaluasi batch gagal sepenuhnya, status is FAILED dan errorDetails berisi satu atau lebih pesan kesalahan yang menjelaskan apa yang salah. Penyebab umum:
-
Tidak ada sesi yang ditemukan di sumber yang ditentukan.
-
Grup CloudWatch log atau nama layanan tidak valid.
Session-level kesalahan
Sesi individu bisa gagal sementara pekerjaan keseluruhan berhasil. numberOfSessionsFailedHitungan dalam evaluationResults menunjukkan berapa banyak sesi memiliki kesalahan. Per-session kesalahan dicatat dalam output CloudWatch Log.
Evaluator-level kesalahan
Dalam sesi yang berhasil dievaluasi, evaluator individu dapat gagal. totalFailedHitungan pada setiap ringkasan evaluator menunjukkan berapa banyak sesi yang tidak dapat dinilai oleh evaluator. Penyebab umum termasuk bentang yang salah bentuk atau atribut yang diperlukan yang hilang.
Membandingkan hasil di seluruh proses
Alur kerja yang umum adalah menjalankan evaluasi batch sebelum dan sesudah perubahan (pembaruan cepat, pertukaran model, modifikasi alat) dan membandingkan skor agregat:
# After running two batch evaluations baseline = client.get_batch_evaluation(batchEvaluationId=baseline_id) treatment = client.get_batch_evaluation(batchEvaluationId=treatment_id) baseline_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in baseline["evaluationResults"]["evaluatorSummaries"] } treatment_summaries = { s["evaluatorId"]: s["statistics"]["averageScore"] for s in treatment["evaluationResults"]["evaluatorSummaries"] } print(f"{'Evaluator':<35} {'Baseline':>10} {'Treatment':>10} {'Delta':>10}") print("=" * 67) for eid in baseline_summaries: b = baseline_summaries[eid] t = treatment_summaries.get(eid, 0) delta = t - b print(f"{eid:<35} {b:>10.4f} {t:>10.4f} {delta:>+10.4f}")
Melihat hasil dari CLI
Selain GetBatchEvaluation API, AgentCore CLI menampilkan hasil yang sama:
-
agentcore view batch-evaluation <batch-evaluation-id>— lihat satu pekerjaan dan hasilnya (tambahkan--jsonuntuk output mentah). -
agentcore batch-evaluations history— daftar pekerjaan evaluasi batch (pekerjaan yang sedang berjalan disegarkan dari layanan; tambahkan--json). -
agentcore run batch-evaluation … --json— mengembalikanevaluatorSummariesobjekbatchEvaluationId/evaluationResults/yang sama yang ditunjukkan pada contoh JSON di atas.
# View a single batch evaluation job and its results agentcore view batch-evaluation 12345678-1234-1234-1234-123456789012 --json # List batch evaluation jobs (running jobs are refreshed from the service) agentcore batch-evaluations history --json
catatan
Bendera perintah run untuk memilih evaluator adalah -e, --evaluator <ids…> (atau--evaluator-arn <arns…>).