Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft.Extensions.AI.Evaluation kitaplıkları, .NET akıllı uygulamalarında yapay zeka modelleri tarafından oluşturulan yanıtların kalitesini ve güvenliğini değerlendirme sürecini basitleştirir. Çeşitli kalite ölçümleri, yanıtların ilgi, doğruluk, tutarlılık ve eksiksizlik gibi yönlerini ölçer. Güvenlik ölçümleri nefret ve adaletsizlik, şiddet ve cinsel içerik gibi özellikleri ölçer. Değerlendirmeler, yapay zeka modelinin beklendiği gibi çalıştığından ve güvenilir ve doğru sonuçlar sağladığından testlerde çok önemlidir.
Microsoft.Extensions.AI soyutlamalarının üzerinde oluşturulan değerlendirme kitaplıkları aşağıdaki NuGet paketlerinden oluşur:
- 📦 Microsoft.Extensions.AI.Evaluation – Değerlendirmeyi desteklemek için temel soyutlamaları ve türleri tanımlar.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP - Doğal dil işleme (NLP) ölçümlerini kullanarak bir LLM'nin yanıt metninin bir veya daha fazla başvuru yanıtına benzerliğini değerlendiren değerlendiriciler içerir. Bu değerlendiriciler LLM veya yapay zeka tabanlı değildir; metin benzerliğini değerlendirmek için metin belirteci ve n-gram analizi gibi geleneksel NLP tekniklerini kullanır.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality – Bir uygulamadaki LLM yanıtlarının kalitesini ilgi ve eksiksizlik gibi ölçümlere göre değerlendiren değerlendiriciler içerir. Bu değerlendiriciler değerlendirmeleri gerçekleştirmek için doğrudan LLM'yi kullanır.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety – Değerlendirmeleri gerçekleştirmek için Microsoft Foundry Değerlendirme hizmetini kullanan ve
ProtectedMaterialEvaluatorgibiContentHarmEvaluatordeğerlendiricileri içerir. - 📦 Microsoft.Extensions.AI.Evaluation.Reporting – LLM yanıtlarını önbelleğe alma, değerlendirme sonuçlarını depolama ve bu verilerden rapor oluşturma desteği içerir.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure - LLM yanıtlarını önbelleğe almak ve değerlendirme sonuçlarını bir Azure Depolama kapsayıcısında depolamak için bir uygulama ile raporlama kitaplığını destekler.
- 📦 Microsoft.Extensions.AI.Evaluation.Console – Rapor oluşturmaya ve değerlendirme verilerini yönetmeye yönelik bir komut satırı aracı.
Test entegrasyonu
Kitaplıklar, mevcut .NET uygulamalarıyla sorunsuz bir şekilde tümleştirilip akıllı uygulamaları değerlendirmek için mevcut test altyapılarından ve tanıdık söz dizimlerinden yararlanmanızı sağlayacak şekilde tasarlanmıştır. Herhangi bir test çerçevesini (örneğin, MSTest, xUnit veya NUnit) ve test iş akışını (örneğin, Test Gezgini, dotnet testi veya CI/CD işlem hattı) kullanabilirsiniz. Kitaplık ayrıca değerlendirme puanlarını telemetri ve izleme panolarına yayımlayarak uygulamanızın çevrimiçi değerlendirmelerini yapmanın kolay yollarını sağlar.
Kapsamlı değerlendirme ölçümleri
Değerlendirme kitaplıkları, Microsoft ve GitHub'daki veri bilimi araştırmacılarıyla işbirliği içinde oluşturulmuş ve popüler Microsoft Copilot deneyimleri üzerinde test edilmiştir. Aşağıdaki bölümlerde yerleşik kalite, NLP ve güvenlik değerlendiricileri ile ölçtükleri ölçümler gösterilmektedir.
Ayrıca, IEvaluator arabirimini uygulayarak kendi değerlendirmelerinizi eklemek için özelleştirebilirsiniz.
Kalite değerlendiricileri
Kalite değerlendiricileri yanıt kalitesini ölçer. Değerlendirmeyi gerçekleştirmek için LLM kullanır.
| Değerlendirici türü | Ölçü birimi | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Yanıtın sorguyla ne kadar ilgili olduğunu değerlendirir |
| CompletenessEvaluator | Completeness |
Yanıtın ne kadar kapsamlı ve doğru olduğunu değerlendirir |
| RetrievalEvaluator | Retrieval |
Ek bağlam için bilgi alma performansını değerlendirir |
| FluencyEvaluator | Fluency |
Dil bilgisi doğruluğunu, sözlük aralığını, cümle karmaşıklığını ve genel okunabilirliği değerlendirir |
| CoherenceEvaluator | Coherence |
Fikirlerin mantıksal ve düzenli sunumunu değerlendirir |
| EquivalenceEvaluator | Equivalence |
Oluşturulan metin ile temel gerçeği arasındaki benzerliği sorguya göre değerlendirir |
| GroundednessEvaluator | Groundedness |
Oluşturulan yanıtın verilen bağlamla ne kadar uyumlu olduğunu değerlendirir |
| RelevanceTruthAndCompletenessEvaluator† |
Relevance (RTC), Truth (RTC) ve Completeness (RTC) |
Yanıtın ne kadar ilgili, doğru ve eksiksiz olduğunu değerlendirir |
| IntentResolutionEvaluator | Intent Resolution |
Yapay zeka sisteminin kullanıcı amacını belirleme ve çözmedeki etkinliğini değerlendirir (aracı odaklı) |
| TaskAdherenceEvaluator | Task Adherence |
Yapay zeka sisteminin kendisine atanan göreve bağlı olma (aracı odaklı) ile ilgili etkinliğini değerlendirir |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Yapay zeka sisteminin sağlanan araçları kullanmadaki etkinliğini değerlendirir (aracı odaklı) |
† Bu değerlendirici deneysel olarak işaretlenir.
NLP değerlendiricileri
NLP değerlendiricileri, doğal dil işleme (NLP) tekniklerini kullanarak bir LLM yanıtının kalitesini bir başvuru yanıtıyla karşılaştırarak değerlendirir. Bu değerlendiriciler LLM veya yapay zeka tabanlı değildir; bunun yerine, metin karşılaştırmaları gerçekleştirmek için eski NLP tekniklerini kullanırlar.
| Değerlendirici türü | Ölçü birimi | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Yanıtı, Bilingual Evaluation Understudy (BLEU) algoritmasını kullanarak bir veya daha fazla referans yanıtla karşılaştırarak değerlendirir. Bu algoritma genellikle makine çevirisi veya metin oluşturma görevlerinin kalitesini değerlendirmek için kullanılır. |
| GLEUEvaluator | GLEU |
Tümce düzeyinde değerlendirme için iyileştirilmiş BLEU algoritmasının bir çeşidi olan Google BLEU (GLEU) algoritmasını kullanarak oluşturulan yanıt ile bir veya daha fazla başvuru yanıtı arasındaki benzerliği ölçer. |
| F1Evaluator | F1 |
F1 puanlama algoritmasını (oluşturulan yanıt ile başvuru yanıtı arasındaki paylaşılan sözcük sayısının oranı) kullanarak yanıtı bir başvuru yanıtıyla karşılaştırarak değerlendirir. |
Güvenlik değerlendiricileri
Güvenlik değerlendiricileri, bir yanıtta zararlı, uygunsuz veya güvenli olmayan içerik olup olmadığını denetler. Değerlendirmeleri gerçekleştirmek için ince ayarlanmış bir model kullanan Foundry Değerlendirme hizmetini kullanır.
| Değerlendirici türü | Ölçü birimi | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Oluşturulan yanıtın verilen bağlamla ne kadar uyumlu olduğunu değerlendirmek için Foundry Değerlendirme hizmetinin arkasında barındırılan ince ayarlı bir model kullanır |
| ProtectedMaterialEvaluator | Protected Material |
Korumalı malzemenin varlığıyla ilgili yanıtı değerlendirir |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
İnsan özniteliklerinin temelsiz çıkarımını gösteren içeriğin varlığı için bir yanıt değerlendirir |
| HateAndUnfairnessEvaluator† | Hate And Unfairness |
Bir yanıtı, nefret eden veya haksız içerik olup olmadığını değerlendirir |
| SelfHarmEvaluator† | Self Harm |
Bir yanıtın, kendine zarar verme içeriğini içerip içermediğini değerlendirir. |
| ViolenceEvaluator† | Violence |
Şiddet içeriklerinin varlığı için bir yanıtı değerlendirir |
| SexualEvaluator† | Sexual |
Cinsel içeriğin varlığı için bir yanıtı değerlendirir |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Güvenlik açığı bulunan kodun varlığı için bir yanıtı değerlendirir |
| IndirectAttackEvaluator | Indirect Attack |
Manipüle edilmiş içerik, yetkisiz erişim ve bilgi toplama gibi dolaylı saldırıların varlığı için bir yanıt değerlendirir |
† Ayrıca , ContentHarmEvaluator , HateAndUnfairnessEvaluatorve SelfHarmEvaluatortarafından ViolenceEvaluatorSexualEvaluatordesteklenen dört ölçüm için tek seferlik değerlendirme sağlar.
Önbelleğe alınan yanıtlar
Kitaplık , yanıt önbelleğe alma işlevini kullanır ve bu da yapay zeka modelinden gelen yanıtların önbellekte kalıcı olduğu anlamına gelir. Sonraki çalıştırmalarda istek parametreleri (istem ve model) değişmezse, daha hızlı yürütme ve daha düşük maliyet sağlamak için önbellekten yanıtlar sunulur.
Raporlama
Kitaplık, değerlendirme sonuçlarını depolama ve rapor oluşturma desteği içerir. Aşağıdaki görüntüde Azure DevOps işlem hattındaki örnek bir rapor gösterilmektedir:
Paketin dotnet aievalMicrosoft.Extensions.AI.Evaluation.Console bir parçası olarak gelen araç, rapor oluşturma ve depolanan değerlendirme verilerini ve önbelleğe alınan yanıtları yönetme işlevselliğini içerir. Daha fazla bilgi için bkz. Rapor oluşturma.
Konfigürasyon
Kitaplıklar esnek olacak şekilde tasarlanmıştır. İhtiyacınız olan bileşenleri seçebilirsiniz. Örneğin, yanıt önbelleğe almayı devre dışı bırakabilir veya raporlamayı ortamınızda en iyi şekilde çalışacak şekilde uyarlayabilirsiniz. Ayrıca, örneğin özelleştirilmiş ölçümler ve raporlama seçenekleri ekleyerek değerlendirmelerinizi özelleştirebilir ve yapılandırabilirsiniz.
Samples
Microsoft.Extensions.AI.Evaluation kitaplıklarında bulunan işlevler ve API'ler hakkında daha kapsamlı bir tur için API kullanım örneklerine (dotnet/ai-samples deposu) bakın. Bu örnekler birim testlerinden oluşan bir koleksiyon olarak yapılandırılmıştır. Her birim testi belirli bir kavramı veya API'yi gösterir ve önceki birim testlerinde sergilenen kavramlar ve API'ler üzerinde derlemeler yapar.