Azure / Azure/azure-sdk-for-python
azure-ai-evaluation: Improper handling of missing fields by evaluators during batch evaluation
- Lingua principale
- Python
- Stelle
- 5.6k
- Fork
- 3.4k
- Merge medio
- 2g 2h
- PR unite (30g)
- 213
Descrizione
- **Package Name**: `azure-ai-evaluation`
- **Package Version**: 1.8.0
- **Operating System**: macOS Sequoia 15.5
- **Python Version**: 3.11.8
**Describe the bug**
There is a bug I've found which I reported details of [here](https://github.com/orgs/azure-ai-foundry/discussions/111). The gist is that, when you provide Q&A sets where ground truth is present for some, but not all, the evaluation results will be heavily skewed for response completeness given all Q&A sets without ground truth will receive a response completeness score of 1. In addition, this scenario also elicits errors in the logs during the batch evaluation step.
**To Reproduce**
Steps to reproduce the behavior:
1. Create an evaluation-compatible Q&A sets file with a list of questions and their corresponding answers, some of which (but not all) having `ground_truth`, too.
2. Run batch evaluations on that file, requesting both response completeness and any other evaluators.
**Expected behavior**
My expectation for this scenario would be for results to not be skewed by Q&A sets where the ground truth was not provided. Instead, the response completeness evaluation should be avoided altogether for those specific Q&A sets. In other words, this is the breakdown of the possible scenarios:
1. Q&A set with all required fields: Run all provided evaluators.
2. Q&A set without ground truth: Run all evaluators **except** response completeness.
Importantly, this doesn't apply to just response completeness, but more broadly, any scenario where you may have missing fields for certain evaluators. There should be a preventative step that looks at the type of data of the given Q&A set and determines what evaluators qualify.
**Screenshots**
N/A
**Additional context**
- See my initial discussion post on this issue [here](https://github.com/orgs/azure-ai-foundry/discussions/111) where I talked with Nitya.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal flusso di valutazione batch di azure-ai-evaluation e riproduci un set misto di Q&A con e senza ground_truth, richiedendo al contempo la completezza della risposta. Traccia come vengono controllati i campi richiesti dagli evaluator; il lavoro è completato quando gli evaluator vengono ignorati per i set di Q&A non idonei, i punteggi non risultano distorti e gli errori registrati vengono evitati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- azure, python
- Ambito
- ai, machine-learning
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100