Microsoft.Extensions.AI.Evaluation kitaplıkları

Microsoft. Extensions.AI.Evaluation kitaplıkları, .NET akıllı uygulamalarda 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ı üzerinde oluşturulan değerlendirme kitaplıkları aşağıdaki NuGet paketlerinden oluşur:

Test entegrasyonu

Kitaplıklar mevcut .NET uygulamalarıyla sorunsuz bir şekilde tümleştirerek akıllı uygulamaları değerlendirmek için mevcut test altyapısını ve tanıdık söz dizimini kullanmanızı sağlar. 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 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.

Kendi değerlendirmelerinizi eklemek için arabirimini IEvaluator uygulayın.

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 ayarlı 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, yapay zeka modelinden gelen yanıtları önbellekte kalıcı hale getirmek için yanıt önbelleğe alma işlevini kullanır. Sonraki çalıştırmalarda, istek parametreleri (istem ve model) değişmemişse, daha hızlı yürütme ve daha düşük maliyet için önbellekten yanıtlar sunar.

Raporlama

Kitaplık değerlendirme sonuçlarının depolanmasını ve rapor oluşturulmasını destekler. Aşağıdaki görüntüde Azure DevOps işlem hattındaki örnek bir rapor gösterilmektedir:

Azure DevOps pipeline'ındaki bir AI değerlendirme raporunun ekran görüntüsü.

dotnet aieval paketinin bir parçası olarak gelen Microsoft.Extensions.AI.Evaluation.Console aracı, 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 esnektir ve ihtiyacınız olan bileşenleri seçebilirsiniz. Örneğin, yanıt önbelleğe almayı devre dışı bırakın veya raporlamayı ortamınızda en iyi şekilde çalışacak şekilde uyarlayın. 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ındaki işlevsellik ve API'lere daha kapsamlı bir tur için, API kullanım örnekleri (dotnet/ai-samples deposu)'na bakın. Bu örnekler, birim testlerinden oluşan bir koleksiyonlardır. Her birim testi belirli bir kavramı veya API'yi gösterir ve önceki birim testlerinde sergilenen kavramlar ve API'ler üzerinde derlemeler yapar.

Ayrıca bakınız