Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pustaka Microsoft.Extensions.AI.Evaluation menyederhanakan proses evaluasi kualitas dan keamanan respons yang dihasilkan oleh model AI di aplikasi cerdas .NET. Berbagai metrik kualitas mengukur aspek-aspek seperti relevansi, kebenaran, koherensi, dan kelengkapan respons. Metrik keamanan mengukur aspek-aspek seperti kebencian dan ketidakadiran, kekerasan, dan konten seksual. Evaluasi sangat penting dalam pengujian, karena membantu memastikan bahwa model AI berfungsi seperti yang diharapkan dan memberikan hasil yang andal dan akurat.
Pustaka evaluasi, yang dibangun di atas abstraksi Microsoft.Extensions.AI, terdiri dari paket NuGet berikut:
- 📦 Microsoft.Extensions.AI.Evaluation – Menentukan abstraksi inti dan jenis untuk mendukung evaluasi.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP - Berisi evaluator yang mengevaluasi kesamaan teks respons LLM dengan satu atau beberapa respons referensi menggunakan metrik pemrosesan bahasa alami (NLP). Evaluator ini bukan berbasis LLM atau AI; mereka menggunakan teknik NLP tradisional seperti tokenisasi teks dan analisis n-gram untuk mengevaluasi kesamaan teks.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality – Berisi evaluator yang menilai kualitas respons LLM dalam aplikasi sesuai dengan metrik seperti relevansi dan kelengkapan. Evaluator ini menggunakan LLM secara langsung untuk melakukan evaluasi.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety – Berisi evaluator, seperti
ProtectedMaterialEvaluatordanContentHarmEvaluator, yang menggunakan layanan Evaluasi Microsoft Foundry untuk melakukan evaluasi. - 📦 Microsoft.Extensions.AI.Evaluation.Reporting – Berisi dukungan untuk penyimpanan sementara respons LLM, menyimpan hasil evaluasi, dan membuat laporan dari data tersebut.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure - Mendukung pustaka pelaporan dengan implementasi untuk pencachingan respons LLM dan menyimpan hasil evaluasi dalam sebuah kontainer Azure Storage.
- 📦 Microsoft.Extensions.AI.Evaluation.Console – Alat baris perintah untuk menghasilkan laporan dan mengelola data evaluasi.
Uji integrasi
Pustaka dirancang untuk berintegrasi dengan lancar dengan aplikasi .NET yang ada, memungkinkan Anda memanfaatkan infrastruktur pengujian yang ada dan sintaks yang familier untuk mengevaluasi aplikasi cerdas. Anda dapat menggunakan kerangka kerja pengujian apa pun (misalnya, MSTest, xUnit, atau NUnit) dan alur kerja pengujian (misalnya, Test Explorer, uji dotnet, atau alur CI/CD). Pustaka juga menyediakan cara mudah untuk melakukan evaluasi online aplikasi Anda dengan menerbitkan skor evaluasi ke dasbor telemetri dan pemantauan.
Metrik evaluasi komprehensif
Perpustakaan evaluasi dibangun dalam kolaborasi dengan peneliti ilmu data dari Microsoft dan GitHub, dan diuji pada fitur populer Microsoft Copilot. Bagian berikut menunjukkan evaluator kualitas, NLP, dan keamanan bawaan serta metrik yang diukur.
Anda juga dapat menyesuaikan untuk menambahkan evaluasi Anda sendiri dengan mengimplementasikan IEvaluator antarmuka.
Penilai kualitas
Evaluator kualitas mengukur kualitas respons. Mereka menggunakan LLM untuk melakukan evaluasi.
| Jenis evaluator | Ukuran | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Mengevaluasi seberapa relevan respons terhadap kueri |
| CompletenessEvaluator | Completeness |
Mengevaluasi seberapa komprehensif dan akurat responsnya |
| RetrievalEvaluator | Retrieval |
Mengevaluasi performa dalam mengambil informasi untuk konteks tambahan |
| FluencyEvaluator | Fluency |
Mengevaluasi akurasi tata bahasa, rentang kosakata, kompleksitas kalimat, dan keterbacaan keseluruhan |
| CoherenceEvaluator | Coherence |
Mengevaluasi presentasi ide yang logis dan tertib |
| EquivalenceEvaluator | Equivalence |
Mengevaluasi kesamaan antara teks yang dihasilkan dan kebenaran dasarnya sehubungan dengan kueri |
| GroundednessEvaluator | Groundedness |
Mengevaluasi seberapa baik respons yang dihasilkan selaras dengan konteks yang diberikan |
| RelevanceTruthAndCompletenessEvaluator†|
Relevance (RTC), Truth (RTC), dan Completeness (RTC) |
Mengevaluasi seberapa relevan, jujur, dan lengkap suatu respons |
| IntentResolutionEvaluator | Intent Resolution |
Mengevaluasi efektivitas sistem AI dalam mengidentifikasi dan menyelesaikan niat pengguna (berfokus pada agen) |
| TaskAdherenceEvaluator | Task Adherence |
Mengevaluasi efektivitas sistem AI dalam mematuhi tugas yang ditetapkan padanya (berfokus pada agen) |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Mengevaluasi efektivitas sistem AI dalam menggunakan alat yang disediakan untuknya (berfokus pada agen) |
†Evaluator ini ditandai eksperimental.
Penilai NLP
Evaluator NLP mengevaluasi kualitas respons LLM dengan membandingkannya dengan respons referensi menggunakan teknik pemrosesan bahasa alami (NLP). Evaluator ini bukan berbasis LLM atau AI; sebaliknya, mereka menggunakan teknik NLP yang lebih lama untuk melakukan perbandingan teks.
| Jenis evaluator | Ukuran | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Mengevaluasi respons dengan membandingkannya dengan satu atau beberapa respons referensi menggunakan algoritma garis bawah evaluasi dua bahasa (BLEU). Algoritma ini umumnya digunakan untuk mengevaluasi kualitas tugas terjemahan mesin atau pembuatan teks. |
| GLEUEvaluator | GLEU |
Mengukur kesamaan antara respons yang dihasilkan dan satu atau beberapa respons referensi menggunakan algoritma Google BLEU (GLEU), varian algoritma BLEU yang dioptimalkan untuk evaluasi tingkat kalimat. |
| F1Evaluator | F1 |
Mengevaluasi respons dengan membandingkannya dengan respons referensi menggunakan algoritma penilaian F1 (rasio jumlah kata bersama antara respons yang dihasilkan dan respons referensi). |
Evaluator keselamatan
Evaluator keamanan memeriksa adanya konten yang berbahaya, tidak pantas, atau tidak aman dalam respons. Mereka mengandalkan layanan Evaluasi Foundry, yang menggunakan model yang disempurnakan untuk melakukan evaluasi.
| Jenis evaluator | Ukuran | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Menggunakan model yang disempurnakan yang dihosting di belakang layanan Evaluasi Foundry untuk mengevaluasi seberapa baik respons yang dihasilkan selaras dengan konteks yang diberikan |
| ProtectedMaterialEvaluator | Protected Material |
Mengevaluasi respons untuk keberadaan bahan yang dilindungi |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
Mengevaluasi respons untuk menemukan konten yang menunjukkan inferensi atribut manusia yang tidak berdasar. |
| HateAndUnfairnessEvaluator†| Hate And Unfairness |
Mengevaluasi respons atas adanya konten yang penuh kebencian atau tidak adal |
| SelfHarmEvaluator†| Self Harm |
Mengevaluasi respons untuk mendeteksi keberadaan konten yang menunjukkan melukai diri sendiri. |
| ViolenceEvaluator†| Violence |
Mengevaluasi respons untuk keberadaan konten kekerasan |
| SexualEvaluator†| Sexual |
Mengevaluasi respons untuk kehadiran konten seksual |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Mengevaluasi respons untuk keberadaan kode yang rentan |
| IndirectAttackEvaluator | Indirect Attack |
Mengevaluasi respons untuk adanya serangan tidak langsung, seperti konten yang dimanipulasi, intrusi, dan pengumpulan informasi |
†Selain itu, ContentHarmEvaluator menyediakan evaluasi sekali tembak untuk empat metrik yang didukung oleh HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator, dan SexualEvaluator.
Respons yang di-cache
Perpustakaan menggunakan fungsionalitas cache respons, yang berarti respons dari model AI disimpan dalam cache. Dalam eksekusi berikutnya, jika parameter permintaan (prompt dan model) tidak berubah, respons kemudian dilayani dari cache untuk mengaktifkan eksekusi yang lebih cepat dan biaya yang lebih rendah.
Pelaporan
Pustaka berisi dukungan untuk menyimpan hasil evaluasi dan membuat laporan. Gambar berikut menunjukkan contoh laporan dalam alur Azure DevOps:
Alat dotnet aieval ini, yang merupakan bagian dari paket Microsoft.Extensions.AI.Evaluation.Console, mencakup kapabilitas untuk menghasilkan laporan dan mengelola data evaluasi yang disimpan serta respons yang di-cache. Untuk informasi selengkapnya, lihat Membuat laporan.
Konfigurasi
Pustaka dirancang agar fleksibel. Anda dapat memilih komponen yang Anda butuhkan. Misalnya, Anda dapat menonaktifkan caching respons atau menyesuaikan pelaporan agar berfungsi sebaik mungkin di lingkungan Anda. Anda juga dapat menyesuaikan dan mengonfigurasi evaluasi Anda, misalnya, dengan menambahkan metrik dan opsi pelaporan yang disesuaikan.
Samples
Untuk tur yang lebih komprehensif mengenai fungsionalitas dan API yang tersedia di pustaka Microsoft.Extensions.AI.Evaluation, lihat contoh penggunaan API (repositori dotnet/ai-samples). Contoh-contoh ini disusun sebagai kumpulan pengujian unit. Setiap pengujian unit menampilkan konsep atau API tertentu dan dibangun pada konsep dan API yang ditampilkan dalam pengujian unit sebelumnya.