Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le librerie Microsoft.Extensions.AI.Evaluation semplificano il processo di valutazione della qualità e dell'accuratezza delle risposte generate dai modelli di intelligenza artificiale nelle app intelligenti .NET. Varie metriche misurano aspetti come pertinenza, veridicità, coerenza e completezza delle risposte. 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 composte dai pacchetti NuGet seguenti:
- 📦 Microsoft.Extensions.AI.Evaluation: definisce le astrazioni e i tipi di base per supportare la valutazione.
- 📦 Microsoft.Extensions.AI.Evaluation.Quality : contiene analizzatori che valutano la qualità delle risposte LLM in un'app in base alle metriche, ad esempio pertinenza e completezza. Questi analizzatori usano direttamente LLM per eseguire valutazioni.
-
📦 Microsoft.Extensions.AI.Evaluation.Safety : contiene analizzatori, ad esempio
ProtectedMaterialEvaluator
eContentHarmEvaluator
, che usano il servizio valutazione di Azure AI Foundry per eseguire valutazioni. - 📦 Microsoft.Extensions.AI.Evaluation.Reporting: contiene il supporto per la memorizzazione nella cache delle risposte LLM, l'archiviazione dei risultati delle valutazioni e la generazione di report da tali dati.
- 📦 Microsoft.Extensions.AI.Evaluation.Reporting.Azure : supporta la libreria di report con un'implementazione per la memorizzazione nella cache delle risposte LLM e l'archiviazione dei risultati della valutazione in un contenitore di Archiviazione di Azure.
- 📦 Microsoft.Extensions.AI.Evaluation.Console : strumento da riga di comando per la generazione di report e la gestione dei dati di valutazione.
Integrazione dei test
Le librerie sono progettate per integrarsi senza problemi con le app .NET esistenti, consentendo di sfruttare le infrastrutture di test esistenti e una sintassi familiare per valutare le app intelligenti. È possibile usare qualsiasi framework di test (ad esempio, MSTest, xUnito NUnit) e il flusso di lavoro di test (ad esempio, Test Explorer, dotnet testo una 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 i ricercatori di data science di Microsoft e GitHub e sono state testate su esperienze comuni di Microsoft Copilot. Le sezioni seguenti illustrano gli analizzatori di qualità e sicurezza predefiniti e le metriche che misurano.
È anche possibile personalizzare per aggiungere valutazioni personalizzate implementando 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 | Metrico | Descrizione |
---|---|---|
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 |
† Questo analizzatore è contrassegnato come sperimentale.
Analizzatori di sicurezza
Gli analizzatori di sicurezza controllano la presenza di contenuti dannosi, inappropriati o non sicuri in una risposta. Si basano sul servizio Azure AI Foundry Evaluation, che usa un modello ottimizzato per eseguire valutazioni.
Tipo di analizzatore | Metrico | Descrizione |
---|---|---|
GroundednessProEvaluator | Groundedness Pro |
Usa un modello ottimizzato ospitato dietro il servizio Valutazione di Azure AI Foundry 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 un'inferenza infondata 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 |
† inoltre, fornisce ContentHarmEvaluator una valutazione a colpo singolo per le quattro metriche supportate da HateAndUnfairnessEvaluator
, SelfHarmEvaluator
, ViolenceEvaluator
e SexualEvaluator
.
Risposte memorizzate nella cache
La libreria usa funzionalità di memorizzazione nella cache delle risposte, il che significa che le risposte del modello di intelligenza artificiale vengono rese persistenti in una cache. Nelle esecuzioni successive, se i parametri della richiesta (prompt e modello) sono invariati, le risposte vengono quindi gestite dalla cache per consentire un'esecuzione più rapida e un costo inferiore.
Rendicontazione
La libreria contiene il supporto per l'archiviazione dei risultati della valutazione e la generazione di report. L'immagine seguente mostra un report di esempio in una pipeline di Azure DevOps:
Lo strumento dotnet aieval
incluso nel pacchetto Microsoft.Extensions.AI.Evaluation.Console
include funzionalità per la generazione di report e la gestione dei dati di valutazione archiviati e delle risposte memorizzate nella cache. Per ulteriori informazioni, vedere generare un report.
Configurazione
Le librerie sono progettate per essere flessibili. È possibile selezionare i componenti necessari. Ad esempio, è possibile 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.
Esempi
Per una panoramica più completa delle funzionalità e delle API disponibili nelle librerie Microsoft.Extensions.AI.Evaluation, vedere gli esempi di utilizzo delle API (repository dotnet/ai-samples). Questi esempi sono strutturati come 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.