Bagikan melalui


Pustaka Microsoft.Extensions.AI.Evaluation

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:

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:

Cuplikan layar laporan evaluasi AI 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.

Lihat juga