Le librerie Microsoft.Extensions.AI.Evaluation

Microsoft. Le librerie Extensions.AI.Evaluation semplificano il processo di valutazione della qualità e della sicurezza delle risposte generate dai modelli di intelligenza artificiale in .NET app intelligenti. Varie metriche di qualità misurano aspetti come pertinenza, veridicità, coerenza e completezza delle risposte. Le metriche di sicurezza misurano aspetti come l'odio e l'iniquità, la violenza e il contenuto sessuale. Le valutazioni sono fondamentali per i test, perché consentono di garantire che il modello di intelligenza artificiale venga eseguito come previsto e fornisca risultati affidabili e accurati.

Le librerie di valutazione, basate sulle astrazioni Microsoft.Extensions.AI, sono costituite dai pacchetti NuGet seguenti:

Integrazione dei test

Le librerie si integrano senza problemi con le app di .NET esistenti, consentendo di usare l'infrastruttura di test esistente e una sintassi familiare per valutare le app intelligenti. È possibile usare qualsiasi framework di test(ad esempio , MSTest, xUnit o NUnit) e il flusso di lavoro di test (ad esempio, Esplora test, test dotnet o pipeline CI/CD). La libreria offre anche modi semplici per eseguire valutazioni online dell'applicazione pubblicando i punteggi di valutazione nei dashboard di telemetria e monitoraggio.

Metriche di valutazione complete

Le librerie di valutazione sono state create in collaborazione con ricercatori di data science di Microsoft e GitHub e sono state testate su esperienze di Microsoft Copilot popolari. Le sezioni seguenti illustrano gli analizzatori di qualità, NLP e sicurezza predefiniti e le metriche che misurano.

Per aggiungere valutazioni personalizzate, implementare l'interfaccia IEvaluator .

Analizzatori di qualità

Gli analizzatori di qualità misurano la qualità della risposta. Usano un LLM per eseguire la valutazione.

Tipo di analizzatore Metrica Description
RelevanceEvaluator Relevance Valuta la rilevanza di una risposta a una query
CompletenessEvaluator Completeness Valuta il modo in cui una risposta è completa e accurata
RetrievalEvaluator Retrieval Valuta le prestazioni nel recupero delle informazioni per un contesto aggiuntivo
FluencyEvaluator Fluency Valuta l'accuratezza grammaticale, l'intervallo di vocabolario, la complessità delle frasi e la leggibilità complessiva
CoherenceEvaluator Coherence Valuta la presentazione logica e ordinata delle idee
EquivalenceEvaluator Equivalence Valuta la somiglianza tra il testo generato e la relativa verità di base rispetto a una query
GroundednessEvaluator Groundedness Valuta l'allineamento di una risposta generata con il contesto specificato
RelevanceTruthAndCompletenessEvaluator Relevance (RTC), Truth (RTC) e Completeness (RTC) Valuta quanto sia rilevante, veritiera e completa una risposta
IntentResolutionEvaluator Intent Resolution Valuta l'efficacia di un sistema di intelligenza artificiale per identificare e risolvere la finalità dell'utente (incentrata sull'agente)
TaskAdherenceEvaluator Task Adherence Valuta l'efficacia di un sistema di intelligenza artificiale aderendo all'attività assegnata (incentrata sull'agente)
ToolCallAccuracyEvaluator Tool Call Accuracy Valuta l'efficacia di un sistema di intelligenza artificiale usando gli strumenti forniti (incentrato sull'agente)

† Questo analizzatore è contrassegnato come sperimentale.

Valutatori NLP

Gli analizzatori NLP valutano la qualità di una risposta LLM confrontandola con una risposta di riferimento usando tecniche NLP (Natural Language Processing). Questi analizzatori non sono basati su modelli LLM o metodi di intelligenza artificiale; usano invece tecniche di elaborazione del linguaggio naturale meno recenti per eseguire confronti di testo.

Tipo di analizzatore Metrica Description
BLEUEvaluator BLEU Valuta una risposta confrontandola con una o più risposte di riferimento utilizzando l'algoritmo BLEU (Bilingual Evaluation Understudy). Questo algoritmo viene comunemente usato per valutare la qualità delle attività di traduzione automatica o generazione di testo.
GLEUEvaluator GLEU Misura la somiglianza tra la risposta generata e una o più risposte di riferimento usando l'algoritmo GOOGLE BLEU (GLEU), una variante dell'algoritmo BLEU ottimizzato per la valutazione a livello di frase.
F1Evaluator F1 Valuta una risposta confrontandola con una risposta di riferimento usando l'algoritmo di assegnazione dei punteggi F1 (rapporto tra il numero di parole condivise tra la risposta generata e la risposta di riferimento).

Analizzatori di sicurezza

Gli analizzatori di sicurezza controllano la presenza di contenuti dannosi, inappropriati o non sicuri in una risposta. Si basano sul servizio Foundry Evaluation, che usa un modello ottimizzato per eseguire valutazioni.

Tipo di analizzatore Metrica Description
GroundednessProEvaluator Groundedness Pro Usa un modello ottimizzato ospitato dietro il servizio Foundry Evaluation per valutare l'allineamento di una risposta generata con il contesto specificato
ProtectedMaterialEvaluator Protected Material Valuta la risposta per la presenza di materiale protetto
UngroundedAttributesEvaluator Ungrounded Attributes Valuta una risposta per la presenza di contenuto che indica l'inferenza non fondata degli attributi umani
HateAndUnfairnessEvaluator Hate And Unfairness Valuta una risposta per la presenza di contenuto odioso o ingiusto
SelfHarmEvaluator Self Harm Valuta una risposta per la presenza di contenuto che indica l'autolesionismo
ViolenceEvaluator Violence Valuta una risposta per la presenza di contenuti violenti
SexualEvaluator Sexual Valuta una risposta per la presenza di contenuto sessuale
CodeVulnerabilityEvaluator Code Vulnerability Valuta una risposta per la presenza di codice vulnerabile
IndirectAttackEvaluator Indirect Attack Valuta una risposta per la presenza di attacchi indiretti, ad esempio contenuto manipolato, intrusione e raccolta di informazioni

ContentHarmEvaluator fornisce inoltre una valutazione a colpo singolo per le quattro metriche supportate da HateAndUnfairnessEvaluator, SelfHarmEvaluator, ViolenceEvaluator e SexualEvaluator.

Risposte memorizzate nella cache

La libreria usa la funzionalità di memorizzazione nella cache delle risposte per rendere persistenti le risposte dal modello di intelligenza artificiale in una cache. Nelle esecuzioni successive, se i parametri della richiesta (prompt e modello) sono invariati, vengono fornite risposte dalla cache per un'esecuzione più rapida e un costo inferiore.

Rendicontazione

La libreria supporta l'archiviazione dei risultati della valutazione e la generazione di report. L'immagine seguente mostra un report di esempio in una pipeline Azure DevOps:

Screenshot di un report di valutazione dell'intelligenza artificiale in una pipeline di Azure DevOps.

Lo strumento incluso nel pacchetto /> Generare un report.

Configurazione

Le librerie sono flessibili ed è possibile scegliere i componenti necessari. Ad esempio, disabilitare la memorizzazione nella cache delle risposte o personalizzare la creazione di report per funzionare al meglio nell'ambiente in uso. È anche possibile personalizzare e configurare le valutazioni, ad esempio aggiungendo metriche personalizzate e opzioni di creazione di report.

Samples

Per una panoramica più completa delle funzionalità e delle API nelle librerie Microsoft.Extensions.AI.Evaluation, vedere gli esempi di utilizzo delle API (repository dotnet/ai-samples). Questi esempi sono una raccolta di unit test. Ogni unit test presenta un concetto o un'API specifica e si basa sui concetti e sulle API presentate negli unit test precedenti.

Vedere anche