elastic / elastic/elastic-evals-sdk-python
[kbn-evals] connector_id reported as model identity
- Vorherrschende Sprache
- Python
- Sterne
- 2
- Forks
- 0
- Ø Merge
- 1 T. 13 Std.
- Gemergte PRs (30 T.)
- 18
Beschreibung
### 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
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne in executor/client.py bei _build_task_model() in Zeile 256 und bei der Zuweisung des Evaluator-Modells in den Zeilen 261-262. Verfolge, wie die Ausführungs-Telemetrie und die Kibana-Evaluator-Antworten die Modellidentität liefern und wie CODE-Evaluator dargestellt werden. Erledigt ist die Aufgabe, wenn die tatsächlichen Task- und Evaluator-Modelle gemeldet werden, CODE-Evaluator kein model-Feld haben und Runs, die keine Kibana-Inferenz verwenden, CONNECTOR_ID nicht benötigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- backend, observability
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100