Layanan evaluasi AI Generatif memungkinkan Anda mengevaluasi model bahasa besar (LLM) di beberapa metrik dengan kriteria Anda sendiri. Anda dapat memberikan input waktu inferensi, respons LLM, dan parameter tambahan, dan layanan evaluasi AI Generatif 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.
Karena layanan mengambil hasil prediksi langsung dari model sebagai input,
layanan evaluasi dapat melakukan inferensi dan evaluasi berikutnya pada
semua model yang didukung oleh
Vertex AI.
Untuk mengetahui informasi selengkapnya tentang cara mengevaluasi model, lihat Ringkasan layanan evaluasi Gen AI.
Batasan
Berikut adalah batasan layanan evaluasi:
- Layanan evaluasi mungkin mengalami penundaan propagasi pada panggilan pertama Anda.
- Sebagian besar metrik berbasis model menggunakan
kuota gemini-1.5-pro
karena layanan evaluasi AI Generatif memanfaatkan
gemini-1.5-pro
sebagai model pengadilan yang mendasari untuk menghitung metrik berbasis model ini. - Beberapa metrik berbasis model, seperti MetricX dan COMET, menggunakan model machine learning yang berbeda, sehingga tidak menggunakan kuota gemini-1.5-pro.
Contoh sintaksis
Sintaksis untuk mengirim panggilan evaluasi.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances \ -d '{ "contents": [{ ... }], "tools": [{ "function_declarations": [ { ... } ] }] }'
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/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}:evaluateInstances' result = google_auth_requests.AuthorizedSession(creds).post(uri, json=data) print(json.dumps(result.json(), indent=2))
Daftar parameter
Parameter | |
---|---|
|
Opsional: Input untuk menilai apakah prediksi sama persis dengan referensi. |
|
Opsional: Input untuk menghitung skor BLEU dengan membandingkan prediksi dengan referensi. |
|
Opsional: Input untuk menghitung skor |
|
Opsional: Input untuk menilai penguasaan bahasa satu respons. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memberikan balasan yang koheren dan mudah diikuti. |
|
Opsional: Input untuk menilai tingkat keamanan satu respons. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memberikan atau mereferensikan informasi yang hanya disertakan dalam teks input. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memenuhi petunjuk sepenuhnya. |
|
Opsional: Input untuk menilai kemampuan keseluruhan satu respons dalam meringkas teks. |
|
Opsional: Input untuk membandingkan kualitas ringkasan keseluruhan dari dua respons. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memberikan ringkasan, yang berisi detail yang diperlukan untuk mengganti teks asli. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memberikan ringkasan yang ringkas. |
|
Opsional: Input untuk menilai kemampuan keseluruhan satu respons dalam menjawab pertanyaan, dengan memberikan isi teks untuk dirujuk. |
|
Opsional: Input untuk membandingkan kemampuan keseluruhan dua respons dalam menjawab pertanyaan, dengan memberikan isi teks untuk dirujuk. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam merespons dengan informasi yang relevan saat ditanya. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memberikan detail utama saat menjawab pertanyaan. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam menjawab pertanyaan dengan benar. |
|
Opsional: Input untuk evaluasi titik umum. |
|
Opsional: Input untuk evaluasi berpasangan umum. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memprediksi panggilan alat yang valid. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memprediksi panggilan alat dengan nama alat yang tepat. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memprediksi panggilan alat dengan nama parameter yang benar. |
|
Opsional: Input untuk menilai kemampuan satu respons dalam memprediksi panggilan alat dengan nama dan nilai parameter yang benar |
|
Opsional: Input yang akan dievaluasi menggunakan COMET. |
|
Opsional: Input yang akan dievaluasi menggunakan MetricX. |
ExactMatchInput
{ "exact_match_input": { "metric_spec": {}, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM. |
|
Opsional: Respons LLM emas untuk referensi. |
ExactMatchResults
{ "exact_match_results": { "exact_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Hasil evaluasi per input instance. |
|
Salah satu dari berikut ini:
|
BleuInput
{ "bleu_input": { "metric_spec": { "use_effective_order": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Apakah akan mempertimbangkan urutan n-gram tanpa kecocokan apa pun. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM. |
|
Opsional: Respons LLM emas untuk referensi. |
BleuResults
{ "bleu_results": { "bleu_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Hasil evaluasi per input instance. |
|
|
RougeInput
{ "rouge_input": { "metric_spec": { "rouge_type": string, "use_stemmer": bool, "split_summaries": bool }, "instances": [ { "prediction": string, "reference": string } ] } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Nilai yang dapat diterima:
|
|
Opsional: Apakah Porter stemmer harus digunakan untuk menghapus akhiran kata guna meningkatkan pencocokan. |
|
Opsional: Apakah akan menambahkan baris baru di antara kalimat untuk rougeLsum. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM. |
|
Opsional: Respons LLM emas untuk referensi. |
RougeResults
{ "rouge_results": { "rouge_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
Hasil evaluasi per input instance. |
|
|
FluencyInput
{ "fluency_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
FluencyResult
{ "fluency_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
CoherenceInput
{ "coherence_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
CoherenceResult
{ "coherence_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
SafetyInput
{ "safety_input": { "metric_spec": {}, "instance": { "prediction": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons LLM. |
|
Opsional: Respons LLM. |
SafetyResult
{ "safety_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
GroundednessInput
{ "groundedness_input": { "metric_spec": {}, "instance": { "prediction": string, "context": string } } }
Parameter |
Deskripsi |
|
Opsional: GroundednessSpec Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: GroundednessInstance Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
GroundednessResult
{ "groundedness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
FulfillmentInput
{ "fulfillment_input": { "metric_spec": {}, "instance": { "prediction": string, "instruction": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
FulfillmentResult
{ "fulfillment_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
SummarizationQualityInput
{ "summarization_quality_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
SummarizationQualityResult
{ "summarization_quality_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
PairwiseSummarizationQualityInput
{ "pairwise_summarization_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 digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
PairwiseSummarizationQualityResult
{ "pairwise_summarization_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
SummarizationHelpfulnessInput
{ "summarization_helpfulness_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
SummarizationHelpfulnessResult
{ "summarization_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
SummarizationVerbosityInput
{ "summarization_verbosity_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
SummarizationVerbosityResult
{ "summarization_verbosity_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
QuestionAnsweringQualityInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
QuestionAnsweringQualityResult
{ "question_answering_quality_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
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 digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
PairwiseQuestionAnsweringQualityResult
{ "pairwise_question_answering_quality_result": { "pairwise_choice": PairwiseChoice, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
QuestionAnsweringRelevanceInput
{ "question_answering_quality_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
QuestionAnsweringRelevancyResult
{ "question_answering_relevancy_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
QuestionAnsweringHelpfulnessInput
{ "question_answering_helpfulness_input": { "metric_spec": {}, "instance": { "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. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
QuestionAnsweringHelpfulnessResult
{ "question_answering_helpfulness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
QuestionAnsweringCorrectnessInput
{ "question_answering_correctness_input": { "metric_spec": { "use_reference": bool }, "instance": { "prediction": string, "reference": string, "instruction": string, "context": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Apakah referensi digunakan atau tidak dalam evaluasi. |
|
Opsional: Input evaluasi, yang terdiri dari input inferensi dan respons yang sesuai. |
|
Opsional: Respons LLM. |
|
Opsional: Respons LLM emas untuk referensi. |
|
Opsional: Petunjuk yang digunakan pada waktu inferensi. |
|
Opsional: Teks waktu inferensi yang berisi semua informasi, yang dapat digunakan dalam respons LLM. |
QuestionAnsweringCorrectnessResult
{ "question_answering_correctness_result": { "score": float, "explanation": string, "confidence": float } }
Output | |
---|---|
|
|
|
|
|
|
PointwiseMetricInput
{ "pointwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parameter | |
---|---|
|
Wajib: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Wajib: Template perintah yang menentukan metrik. Ini dirender oleh key-value pair di instance.json_instance |
|
Wajib: Input evaluasi, yang terdiri dari json_instance. |
|
Opsional: Pasangan nilai kunci dalam format JSON. Misalnya, {"key_1": "value_1", "key_2": "value_2"}. Fungsi ini digunakan untuk merender metric_spec.metric_prompt_template. |
PointwiseMetricResult
{ "pointwise_metric_result": { "score": float, "explanation": string, } }
Output | |
---|---|
|
|
|
|
PairwiseMetricInput
{ "pairwise_metric_input": { "metric_spec": { "metric_prompt_template": string }, "instance": { "json_instance": string, } } }
Parameter | |
---|---|
|
Wajib: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Wajib: Template perintah yang menentukan metrik. Ini dirender oleh key-value pair di instance.json_instance |
|
Wajib: Input evaluasi, yang terdiri dari json_instance. |
|
Opsional: Pasangan nilai kunci dalam format JSON. Misalnya, {"key_1": "value_1", "key_2": "value_2"}. Ini digunakan untuk merender metric_spec.metric_prompt_template. |
PairwiseMetricResult
{ "pairwise_metric_result": { "score": float, "explanation": string, } }
Output | |
---|---|
|
|
|
|
ToolCallValidInput
{ "tool_call_valid_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM model kandidat, yang merupakan string serialisasi 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: Output model emas dalam format yang sama dengan prediksi. |
ToolCallValidResults
{ "tool_call_valid_results": { "tool_call_valid_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
ToolNameMatchInput
{ "tool_name_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM model kandidat, yang merupakan string serialisasi JSON yang berisi kunci |
|
Opsional: Output model emas dalam format yang sama dengan prediksi. |
ToolNameMatchResults
{ "tool_name_match_results": { "tool_name_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
ToolParameterKeyMatchInput
{ "tool_parameter_key_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM model kandidat, yang merupakan string serialisasi JSON yang berisi kunci |
|
Opsional: Output model emas dalam format yang sama dengan prediksi. |
ToolParameterKeyMatchResults
{ "tool_parameter_key_match_results": { "tool_parameter_key_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
ToolParameterKVMatchInput
{ "tool_parameter_kv_match_input": { "metric_spec": {}, "instance": { "prediction": string, "reference": string } } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang menentukan perilaku metrik. |
|
Opsional: Input evaluasi, yang terdiri dari respons dan referensi LLM. |
|
Opsional: Respons LLM model kandidat, yang merupakan string serialisasi JSON yang berisi kunci |
|
Opsional: Output model emas dalam format yang sama dengan prediksi. |
ToolParameterKVMatchResults
{ "tool_parameter_kv_match_results": { "tool_parameter_kv_match_metric_values": [ { "score": float } ] } }
Output | |
---|---|
|
|
|
|
CometInput
{ "comet_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang 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, yang terdiri dari respons dan referensi LLM. Kolom yang tepat yang digunakan untuk evaluasi bergantung pada versi COMET. |
|
Opsional: Respons LLM model kandidat. Ini adalah output LLM yang sedang dievaluasi. |
|
Opsional: Teks sumber. Ini dalam bahasa asli yang digunakan untuk menerjemahkan prediksi. |
|
Opsional: Kebenaran dasar yang digunakan untuk dibandingkan dengan prediksi. Ini dalam bahasa yang sama dengan prediksi. |
CometResult
{ "comet_result" : { "score": float } }
Output | |
---|---|
|
|
MetricxInput
{ "metricx_input" : { "metric_spec" : { "version": string }, "instance": { "prediction": string, "source": string, "reference": string, }, } }
Parameter | |
---|---|
|
Opsional: Spesifikasi metrik, yang 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, yang terdiri dari respons dan referensi LLM. Kolom yang tepat yang digunakan untuk evaluasi bergantung pada versi MetricX. |
|
Opsional: Respons LLM model kandidat. Ini adalah output LLM yang sedang dievaluasi. |
|
Opsional: Teks sumber yang dalam bahasa asli yang digunakan untuk menerjemahkan prediksi. |
|
Opsional: Kebenaran dasar yang digunakan untuk membandingkan dengan prediksi. Ini dalam bahasa yang sama dengan prediksi. |
MetricxResult
{ "metricx_result" : { "score": float } }
Output | |
---|---|
|
|
Contoh
Mengevaluasi output
Contoh berikut menunjukkan cara memanggil Gen AI Evaluation API untuk mengevaluasi output LLM menggunakan berbagai metrik evaluasi, termasuk:
summarization_quality
groundedness
fulfillment
summarization_helpfulness
summarization_verbosity
Python
Go
Mengevaluasi output: kualitas ringkasan berpasangan
Contoh berikut menunjukkan cara memanggil API layanan evaluasi Gen AI untuk mengevaluasi output LLM menggunakan perbandingan kualitas ringkasan berpasangan.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- PREDICTION: Respons LLM.
- BASELINE_PREDICTION: Respons LLM model dasar pengukuran.
- 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 Python API.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mendapatkan skor ROUGE
Contoh berikut memanggil API layanan evaluasi AI Generatif untuk mendapatkan skor ROUGE
prediksi, yang dihasilkan oleh sejumlah input. Input ROUGE menggunakan
metric_spec
, yang menentukan perilaku metrik.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda.
- LOCATION: Region untuk memproses permintaan.
- PREDICTION: Respons LLM.
- REFERENCE: Respons LLM emas untuk referensi.
- ROUGE_TYPE: Penghitungan yang digunakan untuk menentukan skor rouge. Lihat
metric_spec.rouge_type
untuk mengetahui nilai yang dapat diterima. - USE_STEMMER: Menentukan apakah Porter stemmer digunakan untuk menghapus akhiran kata guna meningkatkan pencocokan. Untuk nilai yang dapat diterima, lihat
metric_spec.use_stemmer
. - SPLIT_SUMMARIES: Menentukan apakah baris baru ditambahkan di antara kalimat
rougeLsum
. Untuk 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 Python API.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah selanjutnya
- Untuk dokumentasi mendetail, lihat Menjalankan evaluasi.