elastic / elastic/elastic-evals-sdk-python
[kbn-evals] Evaluator discovery and preflight validation
- Lingua principale
- Python
- Stelle
- 2
- Fork
- 0
- Merge medio
- 1g 13h
- PR unite (30g)
- 18
Descrizione
### Summary
A typo in an evaluator name (`KibanaEvaluatorConfig(name="corectness")`) only surfaces at scoring time as `label="error"`, after the task has already run. Two methods for discovery and validation already exist in the API client but are wired to nothing.
### Problem
- `api/evaluators_client.py:48`: `list_evaluators()` exists but is not called in production code
- `api/evaluators_client.py:62`: `validate()` exists but is not called in production code
- `KibanaEvaluatorConfig.name` is a plain `str` with no validation; even an empty string is accepted
- No CLI command exists to list Kibana evaluators (a command does exist to list suites)
### Fix
- Validate evaluator names before the run starts using `list_evaluators()` or `validate()`
- Add an `elastic-evals list-evaluators` CLI command
- Wire this into the named classmethod approach (see #36)
### Done when
- [ ] A misspelt evaluator name raises a clear error before any task runs
- [ ] `elastic-evals list-evaluators` prints the evaluators available in Kibana
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da api/evaluators_client.py in list_evaluators() e validate(), quindi esamina KibanaEvaluatorConfig.name e il comando CLI esistente per elencare le suite. Segui l’approccio con classmethod denominata menzionato in #36. Il lavoro è completato quando i nomi degli evaluator non validi falliscono prima dell’esecuzione dei task e elastic-evals list-evaluators stampa gli evaluator disponibili in Kibana.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api, cli
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 58/100