elastic / elastic/elastic-evals-sdk-python
[kbn-evals] connector_id reported as model identity
- Lingua principale
- Python
- Stelle
- 2
- Fork
- 0
- Merge medio
- 1g 13h
- PR unite (30g)
- 18
Descrizione
### Summary
Kibana shows a connector ID as both the task model and the evaluator model. The actual models are available in telemetry. CODE evaluators (latency, tokens, tool_calls) don't use a model at all but still get one assigned.
### Problem
- `executor/client.py:256` falls back to `CONNECTOR_ID` as `task_model` in `_build_task_model()` when `ELASTIC_EVALS_MODEL` is not set
- `client.py:261-262` assigns the same connector ID as the evaluator model to all evaluators, including CODE evaluators
- A connector ID identifies a route to an inference service, not a model
### Fix
- Read the actual task model from execution data (e.g. `gen_ai.request.model` telemetry)
- Read the actual evaluator model from the Kibana evaluator response
- Don't assign a model field to CODE evaluators
- Make `CONNECTOR_ID` optional at the global config level; require it only when inference is actually used
### Done when
- [ ] Kibana shows the actual task model, not the connector ID
- [ ] CODE evaluators are ingested without a model field
- [ ] `CONNECTOR_ID` is not required for runs that don't use Kibana inference
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia in executor/client.py, intorno a _build_task_model() alla riga 256 e all’assegnazione del modello dell’evaluator alle righe 261-262. Traccia il modo in cui la telemetria dell’esecuzione e le risposte degli evaluator di Kibana forniscono l’identità del modello e il modo in cui sono rappresentati gli evaluator CODE. Il lavoro è completato quando vengono riportati i modelli effettivi del task e dell’evaluator, gli evaluator CODE non hanno un campo model e le esecuzioni che non usano l’inferenza di Kibana non richiedono CONNECTOR_ID.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend, observability
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100