Panduan ini menunjukkan cara menggunakan API layanan evaluasi AI generatif untuk mengevaluasi model bahasa besar (LLM) Anda. Panduan ini mencakup topik berikut:
- Jenis metrik: Pahami berbagai kategori metrik evaluasi yang tersedia.
- Sintaks contoh: Lihat contoh
curl
dan permintaan Python ke Evaluation API. - Detail parameter: Pelajari parameter spesifik untuk setiap metrik evaluasi.
- Contoh: Lihat contoh kode lengkap untuk tugas evaluasi umum.
Anda dapat menggunakan layanan evaluasi AI generatif untuk mengevaluasi model bahasa besar (LLM) di berbagai metrik dengan kriteria Anda sendiri. Anda memberikan input waktu inferensi, respons LLM, dan parameter tambahan, lalu layanan evaluasi AI Generatif akan menampilkan metrik khusus untuk tugas evaluasi.
Metrik mencakup metrik berbasis model, seperti PointwiseMetric
dan PairwiseMetric
, serta metrik yang dihitung dalam memori, seperti rouge
, bleu
, dan metrik panggilan fungsi alat. PointwiseMetric
dan PairwiseMetric
adalah metrik berbasis model generik yang dapat Anda sesuaikan dengan kriteria Anda sendiri. Layanan ini menerima hasil prediksi langsung dari model, yang memungkinkan Anda melakukan inferensi dan evaluasi pada model apa pun yang didukung oleh Vertex AI.
Untuk mengetahui informasi selengkapnya tentang cara mengevaluasi model, lihat Ringkasan layanan evaluasi AI generatif.
Batasan
Layanan evaluasi memiliki batasan berikut:
- Layanan evaluasi mungkin mengalami penundaan propagasi pada panggilan pertama Anda.
- Sebagian besar metrik berbasis model menggunakan kuota gemini-2.0-flash karena layanan evaluasi AI Generatif menggunakan
gemini-2.0-flash
sebagai model penilai pokok untuk menghitungnya. - Beberapa metrik berbasis model, seperti MetricX dan COMET, menggunakan model machine learning yang berbeda dan tidak menggunakan kuota gemini-2.0-flash.
Jenis metrik
API layanan evaluasi AI Generatif menyediakan beberapa kategori metrik untuk mengevaluasi berbagai aspek performa model Anda. Tabel berikut memberikan ringkasan umum untuk membantu Anda memilih metrik yang tepat untuk kasus penggunaan Anda.
Kategori Metrik | Deskripsi | Kasus Penggunaan |
---|---|---|
Metrik Leksikal (misalnya, bleu , rouge , exact_match ) |
Metrik ini menghitung skor berdasarkan tumpang-tindih tekstual antara prediksi model dan teks referensi (kebenaran dasar). Prosesnya cepat dan objektif. | Ideal untuk tugas dengan jawaban "benar" yang jelas, seperti terjemahan atau penjawaban pertanyaan berbasis fakta, di mana kemiripan dengan referensi adalah proksi yang baik untuk kualitas. |
Metrik Pointwise Berbasis Model (misalnya, fluency , safety , groundedness , summarization_quality ) |
Metrik ini menggunakan model penilaian untuk menilai kualitas respons model tunggal berdasarkan kriteria tertentu (seperti kelancaran atau keamanan) tanpa memerlukan jawaban referensi. | Paling cocok untuk mengevaluasi kualitas subjektif teks generatif yang tidak memiliki satu jawaban yang benar, seperti kreativitas, koherensi, atau keamanan respons. |
Metrik Berpasangan Berbasis Model (misalnya, pairwise_summarization_quality ) |
Metrik ini menggunakan model hakim untuk membandingkan dua respons model (misalnya, dari model dasar dan model kandidat) dan menentukan mana yang lebih baik. | Berguna untuk pengujian A/B dan membandingkan secara langsung performa dua model yang berbeda atau dua versi dari model yang sama pada tugas yang sama. |
Metrik Penggunaan Alat (misalnya, tool_call_valid , tool_name_match ) |
Metrik ini mengevaluasi kemampuan model untuk menggunakan alat (panggilan fungsi) dengan benar dengan memeriksa sintaks yang valid, nama alat yang benar, dan parameter yang akurat. | Penting untuk mengevaluasi model yang dirancang untuk berinteraksi dengan API atau sistem eksternal melalui panggilan alat. |
Metrik Kustom ( pointwise_metric , pairwise_metric ) |
Hal ini memberikan framework yang fleksibel untuk menentukan kriteria evaluasi Anda sendiri menggunakan template perintah. Kemudian, layanan menggunakan model penilai untuk mengevaluasi respons berdasarkan petunjuk kustom Anda. | Untuk tugas evaluasi khusus yang metrik yang telah ditentukan sebelumnya tidak memadai dan Anda perlu menilai performa berdasarkan persyaratan unik khusus domain. |
Metrik Khusus ( comet , metricx ) |
Metrik yang sangat khusus yang dirancang untuk tugas tertentu, terutama kualitas terjemahan mesin. | Digunakan untuk evaluasi bernuansa untuk tugas terjemahan mesin yang melampaui pencocokan leksikal sederhana. |
Contoh sintaksis
Contoh berikut menunjukkan sintaksis untuk mengirim permintaan evaluasi.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances \ -d '{ "pointwise_metric_input" : { "metric_spec" : { ... }, "instance": { ... }, } }'
Python
import json from google import auth from google.api_core import exceptions from google.auth.transport import requests as google_auth_requests creds, _ = auth.default( scopes=['https://www.googleapis.com/auth/cloud-platform']) data = { ... } uri = f'https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
Detail parameter
Bagian ini menjelaskan objek permintaan dan respons untuk setiap metrik evaluasi.
Isi permintaan
Isi permintaan tingkat teratas berisi salah satu objek input metrik berikut.
Parameter | |
---|---|
|
Opsional: Mengevaluasi apakah prediksi sama persis dengan referensi. |
|
Opsional: Menghitung skor BLEU dengan membandingkan prediksi dengan referensi. |
|
Opsional: Menghitung skor ROUGE dengan membandingkan prediksi dengan referensi. Parameter |
|
Opsional: Menilai kefasihan bahasa dari satu respons. |
|
Opsional: Menilai koherensi satu respons. |
|
Opsional: Menilai tingkat keamanan satu respons. |
|
Opsional: Menilai apakah suatu respons didasarkan pada konteks yang diberikan. |
|
Opsional: Menilai seberapa baik respons memenuhi petunjuk yang diberikan. |
|
Opsional: Menilai kualitas ringkasan keseluruhan dari respons. |
|
Opsional: Membandingkan kualitas ringkasan dari dua respons. |
|
Opsional: Menilai apakah ringkasan bermanfaat dan berisi detail yang diperlukan dari teks asli. |
|
Opsional: Menilai kejelasan ringkasan. |
|
Opsional: Menilai kualitas keseluruhan jawaban atas pertanyaan, berdasarkan konteks yang diberikan. |
|
Opsional: Membandingkan kualitas dua jawaban atas suatu pertanyaan, berdasarkan konteks yang diberikan. |
|
Opsional: Menilai relevansi jawaban terhadap pertanyaan. |
|
Opsional: Menilai kegunaan jawaban dengan memeriksa detail penting. |
|
Opsional: Menilai kebenaran jawaban atas suatu pertanyaan. |
|
Opsional: Input untuk evaluasi pointwise kustom. |
|
Opsional: Input untuk evaluasi berpasangan kustom. |
|
Opsional: Menilai apakah respons memprediksi panggilan alat yang valid. |
|
Opsional: Menilai apakah respons memprediksi nama alat yang benar dalam panggilan alat. |
|
Opsional: Menilai apakah respons memprediksi nama parameter yang benar dalam panggilan alat. |
|
Opsional: Menilai apakah respons memprediksi nama dan nilai parameter yang benar dalam panggilan alat. |
|
Opsional: Input untuk dievaluasi menggunakan COMET. |
|
Opsional: Input untuk dievaluasi menggunakan MetricX. |
Pencocokan Persis (exact_match_input
)
Input (ExactMatchInput
)
{ "exact_match_input": { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Satu atau beberapa instance evaluasi, yang masing-masing berisi respons LLM dan referensi. |
|
Opsional: Respons LLM. |
|
Opsional: Respons kebenaran dasar atau referensi. |
Output (ExactMatchResults
)
{ "exact_match_results": { "exact_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Array hasil evaluasi, satu untuk setiap instance input. |
|
Salah satu dari berikut ini:
|
BLEU (bleu_input
)
Input (BleuInput
)
{ "bleu_input": { "metric_spec": { "use_effective_order": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Menentukan apakah akan mempertimbangkan urutan n-gram yang tidak memiliki kecocokan. |
|
Opsional: Satu atau beberapa instance evaluasi, yang masing-masing berisi respons LLM dan referensi. |
|
Opsional: Respons LLM. |
|
Opsional: Respons kebenaran dasar atau referensi. |
Output (BleuResults
)
{ "bleu_results": { "bleu_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Array hasil evaluasi, satu untuk setiap instance input. |
|
|
ROUGE (rouge_input
)
Input (RougeInput
)
{ "rouge_input": { "metric_spec": { "rouge_type": string, "use_stemmer": bool, "split_summaries": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Nilai yang didukung:
|
|
Opsional: Menentukan apakah akan menggunakan stemmer Porter untuk menghapus sufiks kata agar pencocokan lebih baik. |
|
Opsional: Menentukan apakah akan menambahkan baris baru antar-kalimat untuk |
|
Opsional: Satu atau beberapa instance evaluasi, yang masing-masing berisi respons LLM dan referensi. |
|
Opsional: Respons LLM. |
|
Opsional: Respons kebenaran dasar atau referensi. |
Output (RougeResults
)
{ "rouge_results": { "rouge_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Array hasil evaluasi, satu untuk setiap instance input. |
|
|
Kefasihan (Fluency) (fluency_input
)
Input (FluencyInput
)
{ "fluency_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
Output (FluencyResult
)
{ "fluency_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Koherensi (Coherence) (coherence_input
)
Input (CoherenceInput
)
{ "coherence_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
Output (CoherenceResult
)
{ "coherence_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Keamanan (safety_input
)
Input (SafetyInput
)
{ "safety_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
Output (SafetyResult
)
{ "safety_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Dasar (Groundedness) (groundedness_input
)
Input (GroundednessInput
)
{ "groundedness_input": { "metric_spec": {}, "instance": { "prediction": string, "context": string } } }
Parameter | Deskripsi |
---|---|
|
Opsional: GroundednessSpec Menentukan perilaku metrik. |
|
Opsional: GroundednessInstance Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (GroundednessResult
)
{ "groundedness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Pemenuhan (fulfillment_input
)
Input (FulfillmentInput
)
{ "fulfillment_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
Output (FulfillmentResult
)
{ "fulfillment_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kualitas Ringkasan (summarization_quality_input
)
Input (SummarizationQualityInput
)
{ "summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (SummarizationQualityResult
)
{ "summarization_quality_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kualitas Ringkasan Berpasangan (Pairwise Summarization Quality) (pairwise_summarization_quality_input
)
Input (PairwiseSummarizationQualityInput
)
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string, } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM model dasar. |
|
Opsional: Respons LLM model kandidat. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (PairwiseSummarizationQualityResult
)
{ "pairwise_summarization_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kegunaan Ringkasan (summarization_helpfulness_input
)
Input (SummarizationHelpfulnessInput
)
{ "summarization_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (SummarizationHelpfulnessResult
)
{ "summarization_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Panjang Ringkasan (summarization_verbosity_input
)
Input (SummarizationVerbosityInput
)
{ "summarization_verbosity_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (SummarizationVerbosityResult
)
{ "summarization_verbosity_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kualitas Jawab Pertanyaan (Question Answering Quality) (question_answering_quality_input
)
Input (QuestionAnsweringQualityInput
)
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string, } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (QuestionAnsweringQualityResult
)
{ "question_answering_quality_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kualitas Jawaban Pertanyaan Berpasangan (Pairwise Question Answering Quality) (pairwise_question_answering_quality_input
)
Input (PairwiseQuestionAnsweringQualityInput
)
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "baseline_prediction": string, "prediction": string, "instruction": string, "context": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM model dasar. |
|
Opsional: Respons LLM model kandidat. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (PairwiseQuestionAnsweringQualityResult
)
{ "pairwise_question_answering_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Relevansi Penjawaban Pertanyaan (question_answering_relevance_input
)
Input (QuestionAnsweringRelevanceInput
)
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (QuestionAnsweringRelevanceResult
)
{ "question_answering_relevancy_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kegunaan Penjawaban Pertanyaan (question_answering_helpfulness_input
)
Input (QuestionAnsweringHelpfulnessInput
)
{ "question_answering_helpfulness_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string, "context": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (QuestionAnsweringHelpfulnessResult
)
{ "question_answering_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Kebenaran Penjawaban Pertanyaan (question_answering_correctness_input
)
Input (QuestionAnsweringCorrectnessInput
)
{ "question_answering_correctness_input": { "metric_spec": { "use_reference": bool }, "instance": { "prediction": string, "reference": string, "instruction": string, "context": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Menentukan apakah referensi digunakan dalam evaluasi. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Respons kebenaran dasar atau referensi. |
|
Opsional: Petunjuk yang diberikan pada waktu inferensi. |
|
Opsional: Konteks yang diberikan pada waktu inferensi yang dapat digunakan oleh respons LLM. |
Output (QuestionAnsweringCorrectnessResult
)
{ "question_answering_correctness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
Pointwise Kustom (pointwise_metric_input
)
Input (PointwiseMetricInput
)
{ "pointwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parameter | |
---|---|
|
Wajib: Menentukan perilaku metrik. |
|
Wajib: Template perintah yang menentukan metrik. Template dirender menggunakan key-value pair di |
|
Wajib: Input evaluasi, yang terdiri dari |
|
Opsional: String JSON dari key-value pair (misalnya, |
Output (PointwiseMetricResult
)
{ "pointwise_metric_result": { "score": float, "explanation": string, } }
Output | |
---|---|
|
|
|
|
Pairwise Kustom (pairwise_metric_input
)
Input (PairwiseMetricInput
)
{ "pairwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parameter | |
---|---|
|
Wajib: Menentukan perilaku metrik. |
|
Wajib: Template perintah yang menentukan metrik. Template dirender menggunakan key-value pair di |
|
Wajib: Input evaluasi, yang terdiri dari |
|
Opsional: String JSON dari key-value pair (misalnya, |
Output (PairwiseMetricResult
)
{ "pairwise_metric_result": { "score": float, "explanation": string, } }
Output | |
---|---|
|
|
|
|
Panggilan Alat Valid (tool_call_valid_input
)
Input (ToolCallValidInput
)
{ "tool_call_valid_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM dan referensi. |
|
Opsional: Respons model kandidat. Ini harus berupa string yang diserialisasi JSON yang berisi kunci { "content": "", "tool_calls": [ { "name": "book_tickets", "arguments": { "movie": "Mission Impossible Dead Reckoning Part 1", "theater": "Regal Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date": "2024-03-30", "num_tix": "2" } } ] } |
|
Opsional: Respons kebenaran dasar atau referensi, dalam format yang sama dengan |
Output (ToolCallValidResults
)
{ "tool_call_valid_results": { "tool_call_valid_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
Pencocokan Nama Alat (tool_name_match_input
)
Input (ToolNameMatchInput
)
{ "tool_name_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM dan referensi. |
|
Opsional: Respons model kandidat. Ini harus berupa string yang diserialisasi JSON yang berisi kunci |
|
Opsional: Respons kebenaran dasar atau referensi, dalam format yang sama dengan |
Output (ToolNameMatchResults
)
{ "tool_name_match_results": { "tool_name_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
Pencocokan Kunci Parameter Alat (tool_parameter_key_match_input
)
Input (ToolParameterKeyMatchInput
)
{ "tool_parameter_key_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM dan referensi. |
|
Opsional: Respons model kandidat. Ini harus berupa string yang diserialisasi JSON yang berisi kunci |
|
Opsional: Respons kebenaran dasar atau referensi, dalam format yang sama dengan |
Output (ToolParameterKeyMatchResults
)
{ "tool_parameter_key_match_results": { "tool_parameter_key_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
Pencocokan KV Parameter Alat (tool_parameter_kv_match_input
)
Input (ToolParameterKVMatchInput
)
{ "tool_parameter_kv_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM dan referensi. |
|
Opsional: Respons model kandidat. Ini harus berupa string yang diserialisasi JSON yang berisi kunci |
|
Opsional: Respons kebenaran dasar atau referensi, dalam format yang sama dengan |
Output (ToolParameterKVMatchResults
)
{ "tool_parameter_kv_match_results": { "tool_parameter_kv_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
COMET (comet_input
)
Input (CometInput
)
{ "comet_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional:
|
|
Opsional: Bahasa sumber dalam format BCP-47. Misalnya, "es". |
|
Opsional: Bahasa target dalam format BCP-47. Misalnya, "es". |
|
Opsional: Input evaluasi. Kolom persis yang digunakan untuk evaluasi bergantung pada versi COMET. |
|
Opsional: Respons model kandidat, yang merupakan teks terjemahan yang akan dievaluasi. |
|
Opsional: Teks sumber dalam bahasa asli, sebelum terjemahan. |
|
Opsional: Terjemahan rujukan atau kebenaran dasar, dalam bahasa yang sama dengan |
Output (CometResult
)
{ "comet_result" : { "score": float } }
Output | |
---|---|
|
|
MetricX (metricx_input
)
Input (MetricxInput
)
{ "metricx_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parameter | |
---|---|
|
Opsional: Menentukan perilaku metrik. |
|
Opsional:
Salah satu dari berikut ini:
|
|
Opsional: Bahasa sumber dalam format BCP-47. Misalnya, "es". |
|
Opsional: Bahasa target dalam format BCP-47. Misalnya, "es". |
|
Opsional: Input evaluasi. Kolom persis yang digunakan untuk evaluasi bergantung pada versi MetricX. |
|
Opsional: Respons model kandidat, yang merupakan teks terjemahan yang akan dievaluasi. |
|
Opsional: Teks sumber dalam bahasa asli yang digunakan untuk menerjemahkan prediksi. |
|
Opsional: Kebenaran dasar yang digunakan untuk membandingkan dengan prediksi. Bahasa yang digunakan sama dengan bahasa prediksi. |
Output (MetricxResult
)
{ "metricx_result" : { "score": float } }
Output | |
---|---|
|
|
Contoh
Mengevaluasi beberapa metrik dalam satu panggilan
Contoh berikut menunjukkan cara memanggil API layanan evaluasi AI Generatif untuk mengevaluasi output LLM menggunakan berbagai metrik evaluasi, termasuk summarization_quality
, groundedness
, fulfillment
, summarization_helpfulness
, dan summarization_verbosity
.
Python
Go
Mengevaluasi kualitas ringkasan berpasangan
Contoh berikut menunjukkan cara memanggil Gen AI Evaluation Service API untuk mengevaluasi output LLM menggunakan perbandingan kualitas ringkasan berpasangan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: .
- LOCATION: Region untuk memproses permintaan.
- PREDICTION: Respons LLM.
- BASELINE_PREDICTION: Respons LLM model dasar.
- INSTRUCTION: Petunjuk yang digunakan pada waktu inferensi.
- CONTEXT: Teks waktu inferensi yang berisi semua informasi yang relevan, yang dapat digunakan dalam respons LLM.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \
Isi JSON permintaan:
{ "pairwise_summarization_quality_input": { "metric_spec": {}, "instance": { "prediction": "PREDICTION", "baseline_prediction": "BASELINE_PREDICTION", "instruction": "INSTRUCTION", "context": "CONTEXT", } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/LOCATION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mengevaluasi skor ROUGE
Contoh berikut menunjukkan cara memanggil API layanan evaluasi AI Generatif untuk mendapatkan skor ROUGE untuk prediksi. Permintaan menggunakan metric_spec
untuk mengonfigurasi perilaku metrik.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: .
- LOCATION: Region untuk memproses permintaan.
- PREDICTION: Respons LLM.
- REFERENCE: Respons LLM Golden sebagai referensi.
- ROUGE_TYPE: Perhitungan yang digunakan untuk menentukan skor nakal. Lihat
metric_spec.rouge_type
untuk mengetahui nilai yang dapat diterima. - USE_STEMMER: Menentukan apakah stemmer Porter digunakan untuk menghilangkan sufiks kata guna meningkatkan pencocokan. Untuk mengetahui nilai yang dapat diterima, lihat
metric_spec.use_stemmer
. - SPLIT_SUMMARIES: Menentukan apakah baris baru ditambahkan di antara kalimat
rougeLsum
. Untuk mengetahui nilai yang dapat diterima, lihatmetric_spec.split_summaries
.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \
Isi JSON permintaan:
{ "rouge_input": { "instances": { "prediction": "PREDICTION", "reference": "REFERENCE.", }, "metric_spec": { "rouge_type": "ROUGE_TYPE", "use_stemmer": USE_STEMMER, "split_summaries": SPLIT_SUMMARIES, } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID-/locations/REGION:evaluateInstances \" | Select-Object -Expand Content
Python
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python.
Go
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- Pelajari cara Menjalankan evaluasi.