Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Biblioteki Microsoft.Extensions.AI.Evaluation upraszczają proces oceny jakości i bezpieczeństwa odpowiedzi generowanych przez modele sztucznej inteligencji w inteligentnych aplikacjach .NET. Różne metryki jakości mierzą aspekty, takie jak istotność, prawdziwość, spójność i kompletność odpowiedzi. Metryki bezpieczeństwa mierzą aspekty takie jak nienawiść i niesprawiedliwość, przemoc i treści seksualne. Oceny mają kluczowe znaczenie w testowaniu, ponieważ pomagają zapewnić, że model sztucznej inteligencji działa zgodnie z oczekiwaniami i zapewnia niezawodne i dokładne wyniki.
Biblioteki ewaluacyjne oparte na abstrakcji Microsoft.Extensions.AI składają się z następujących pakietów NuGet:
- 📦 Microsoft. Extensions.AI.Evaluation — definiuje podstawowe abstrakcję i typy na potrzeby oceny pomocniczej.
- 📦 Microsoft.Extensions.AI.Evaluation.NLP — zawiera oceniacze, które oceniają podobieństwo tekstu odpowiedzi LLM do jednej lub więcej odpowiedzi referencyjnych, używając metryk przetwarzania języka naturalnego (NLP). Te ewaluatory nie opierają się na LLM ani sztucznej inteligencji; używają tradycyjnych technik przetwarzania języka naturalnego, takich jak tokenizacja tekstu i analiza n-gramów do oceny podobieństwa tekstu.
- 📦 Microsoft. Extensions.AI.Evaluation.Quality — zawiera ewaluatory które oceniają jakość odpowiedzi LLM w aplikacji zgodnie z metrykami, takimi jak istotność i kompletność. Ci ewaluatorzy używają programu LLM bezpośrednio do przeprowadzania ocen.
-
📦 Microsoft. Extensions.AI.Evaluation.Safety — zawiera ewaluatory, takie jak
ProtectedMaterialEvaluatoriContentHarmEvaluator, które używają usługi Microsoft Foundry Evaluation do przeprowadzania ocen. - 📦 Microsoft. Extensions.AI.Evaluation.Reporting — zawiera obsługę buforowania odpowiedzi LLM, przechowywania wyników ocen i generowania raportów z tych danych.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure — wspiera bibliotekę raportowania dzięki implementacji buforowania odpowiedzi LLM oraz przechowywaniu wyników oceny w kontenerze Azure Storage.
- 📦 Microsoft. Extensions.AI.Evaluation.Console — narzędzie wiersza polecenia do generowania raportów i zarządzania danymi oceny.
Testowanie integracji
Biblioteki są bezproblemowo integrowane z istniejącymi aplikacjami .NET, umożliwiając korzystanie z istniejącej infrastruktury testowania i znanej składni w celu oceny inteligentnych aplikacji. Możesz użyć dowolnej platformy testowej (na przykład MSTest, xUnit lub NUnit) i przepływu pracy testów (na przykład Eksploratora testów, dotnet test lub pipeline ciągłej integracji/ciągłego wdrażania). Biblioteka udostępnia również łatwe sposoby wykonywania ocen online aplikacji przez publikowanie wyników oceny na panelach telemetrii i monitorowania.
Kompleksowe metryki oceny
Biblioteki ewaluacyjne zostały utworzone we współpracy z badaczami nauki o danych z Microsoft i GitHub i zostały przetestowane na popularnych środowiskach Microsoft Copilot. W poniższych sekcjach przedstawiono wbudowanych ewaluatorów jakości, NLP i bezpieczeństwa oraz metryki, które mierzą.
Aby dodać własne oceny, zaimplementuj IEvaluator interfejs.
Ewaluatorzy jakości
Ewaluatorzy jakości mierzą jakość odpowiedzi. Do przeprowadzenia oceny używają modułu LLM.
| Typ ewaluatora | Wskaźnik | Description |
|---|---|---|
| RelevanceEvaluator | Relevance |
Ocenia, jak istotna jest odpowiedź na zapytanie |
| CompletenessEvaluator | Completeness |
Ocenia, jak kompleksowa i dokładna jest odpowiedź |
| RetrievalEvaluator | Retrieval |
Ocenia wydajność pobierania informacji w celu uzyskania dodatkowego kontekstu |
| FluencyEvaluator | Fluency |
Ocenia dokładność gramatyczną, zakres słownictwa, złożoność zdania i ogólną czytelność |
| CoherenceEvaluator | Coherence |
Ocenia logiczną i uporządkowaną prezentację pomysłów |
| EquivalenceEvaluator | Equivalence |
Ocenia podobieństwo między wygenerowanym tekstem a jego rzeczywistą wartością w odniesieniu do zapytania. |
| GroundednessEvaluator | Groundedness |
Ocenia, jak dobrze wygenerowana odpowiedź jest zgodna z danym kontekstem |
| RelevanceTruthAndCompletenessEvaluator† |
Relevance (RTC), Truth (RTC) i Completeness (RTC) |
Ocenia, jak istotne, prawdziwe i kompletne odpowiedzi są |
| IntentResolutionEvaluator | Intent Resolution |
Ocenia skuteczność systemu sztucznej inteligencji w identyfikowaniu i rozpoznawaniu intencji użytkownika (skoncentrowanej na agencie) |
| TaskAdherenceEvaluator | Task Adherence |
Ocenia skuteczność systemu sztucznej inteligencji przy przestrzeganiu zadania przydzielonego do niego (skoncentrowanego na agencie) |
| ToolCallAccuracyEvaluator | Tool Call Accuracy |
Ocenia skuteczność systemu sztucznej inteligencji przy użyciu dostarczonych do niego narzędzi (skoncentrowanych na agencie) |
† Ten ewaluator jest oznaczony jako eksperymentalny.
Ewaluatorzy NLP
Ewaluatorzy NLP oceniają jakość odpowiedzi LLM, porównując ją z odpowiedzią referencyjną przy użyciu technik przetwarzania języka naturalnego (NLP). Ci ewaluatorzy nie są oparci na LLM ani na sztucznej inteligencji; zamiast tego używają starszych technik NLP do porównywania tekstów.
| Typ ewaluatora | Wskaźnik | Description |
|---|---|---|
| BLEUEvaluator | BLEU |
Ocenia odpowiedź, porównując ją z co najmniej jedną odpowiedzią referencyjną przy użyciu algorytmu oceny dwujęzycznej (BLEU). Ten algorytm jest często używany do oceny jakości zadań tłumaczenia maszynowego lub generowania tekstu. |
| GLEUEvaluator | GLEU |
Mierzy podobieństwo między wygenerowaną odpowiedzią i co najmniej jedną odpowiedzią referencyjną przy użyciu algorytmu Google BLEU (GLEU), wariant algorytmu BLEU zoptymalizowanego pod kątem oceny na poziomie zdania. |
| F1Evaluator | F1 |
Ocenia odpowiedź, porównując ją z odpowiedzią referencyjną przy użyciu algorytmu oceniania F1 (stosunek liczby wyrazów udostępnionych między wygenerowaną odpowiedzią a odpowiedzią referencyjną). |
Ewaluatorzy bezpieczeństwa
Ewaluatorzy bezpieczeństwa sprawdzają obecność szkodliwej, niewłaściwej lub niebezpiecznej zawartości w odpowiedzi. Polegają one na Usłudze Oceny w Foundry, która korzysta z modelu dostrojonego do przeprowadzania ocen.
| Typ ewaluatora | Wskaźnik | Description |
|---|---|---|
| GroundednessProEvaluator | Groundedness Pro |
Używa dostrojonego modelu hostowanego w usłudze Oceny w systemie Foundry, aby ocenić, jak dobrze wygenerowana odpowiedź jest zgodna z danym kontekstem. |
| ProtectedMaterialEvaluator | Protected Material |
Ocenia odpowiedź na obecność materiału chronionego |
| UngroundedAttributesEvaluator | Ungrounded Attributes |
Ocena odpowiedzi pod kątem obecności treści wskazujących na bezpodstawne wnioskowanie dotyczące atrybutów ludzkich |
| HateAndUnfairnessEvaluator† | Hate And Unfairness |
Ocenia odpowiedź na obecność treści, które są nienawistne lub niesprawiedliwe |
| SelfHarmEvaluator† | Self Harm |
Ocenia odpowiedź pod kątem obecności treści, które wskazują na samookaleczanie |
| ViolenceEvaluator† | Violence |
Ocenia odpowiedź na obecność brutalnej zawartości |
| SexualEvaluator† | Sexual |
Ocenia odpowiedź na obecność treści seksualnych |
| CodeVulnerabilityEvaluator | Code Vulnerability |
Ocenia odpowiedź na obecność kodu podatnego na zagrożenia |
| IndirectAttackEvaluator | Indirect Attack |
Ocenia odpowiedź na obecność ataków pośrednich, takich jak manipulowanie zawartością, włamanie i zbieranie informacji |
† Ponadto ContentHarmEvaluator zapewnia ocenę jednorazową dla czterech metryk obsługiwanych przez HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator i SexualEvaluator.
Buforowane odpowiedzi
Biblioteka używa funkcji buforowania odpowiedzi do przechowywania odpowiedzi z modelu sztucznej inteligencji w pamięci podręcznej. W kolejnych przebiegach, jeśli parametry żądania (polecenie i model) pozostają niezmienione, korzysta z odpowiedzi z pamięci podręcznej w celu szybszego wykonywania i obniżenia kosztów.
Raportowanie
Biblioteka obsługuje przechowywanie wyników oceny i generowanie raportów. Na poniższej ilustracji przedstawiono przykładowy raport w potoku procesów Azure DevOps.
Narzędzie dotnet aieval, które jest dostarczane w ramach pakietu Microsoft.Extensions.AI.Evaluation.Console, zawiera funkcje generowania raportów i zarządzania przechowywanymi danymi oceny i buforowanych odpowiedzi. Aby uzyskać więcej informacji, zobacz Generowanie raportu.
Konfiguracja
Biblioteki są elastyczne i możesz wybrać potrzebne składniki. Na przykład wyłącz buforowanie odpowiedzi lub dostosuj raportowanie tak, aby działało najlepiej w danym środowisku. Możesz również dostosować i skonfigurować oceny, na przykład dodając dostosowane metryki i opcje raportowania.
Samples
Aby zapoznać się z bardziej kompleksowym przewodnikiem po funkcjach i interfejsach API w bibliotekach Microsoft.Extensions.AI.Evaluation, zobacz przykłady użycia API (repozytorium dotnet/ai-samples). Te przykłady to kolekcja testów jednostkowych. Każdy test jednostkowy prezentuje określoną koncepcję lub interfejs API i opiera się na pojęciach i interfejsach API zaprezentowanych w poprzednich testach jednostkowych.