feat(token-tracking): add EvaluationResult.token_usage and persist to metadata.json
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -45,6 +45,7 @@ def write_run_artifacts(result: EvaluationResult) -> None:
|
||||
"dataset": result.scenario.dataset.path.as_posix(),
|
||||
"valid_samples": len(result.valid_samples),
|
||||
"invalid_samples": len(result.invalid_samples),
|
||||
"token_usage": result.token_usage,
|
||||
}
|
||||
artifact_paths.metadata_json.write_text(
|
||||
json.dumps(metadata, ensure_ascii=False, indent=2),
|
||||
|
||||
@@ -153,6 +153,9 @@ class EvaluationResult:
|
||||
valid_samples: list[NormalizedSample]
|
||||
invalid_samples: list[InvalidSample]
|
||||
score_rows: list[dict[str, Any]]
|
||||
# Token usage grouped by model name: {model: {input_tokens, output_tokens, calls}}.
|
||||
# Populated by callers via rag_eval.metrics.token_tracker.track_token_usage().
|
||||
token_usage: dict[str, dict[str, int]] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass(slots=True)
|
||||
|
||||
Reference in New Issue
Block a user