{% if eval_results.usage %} {% from '_cache_kpis.html' import cache_kpis %} {% set usage = eval_results.usage %} {% set lanes = [('Answer generation', 'generation', 'retrieved_reader'), ('Gold-evidence diagnostic', 'oracle', 'oracle_reader'), ('Judge', 'judge', 'judge')] %} {% set cache = namespace(prompt=0, cached=0, writes=0, reported=0, hits=0, tracked=false) %} {% for label, prefix, lane in lanes %} {% set cache.prompt = cache.prompt + (usage.get(prefix ~ '_prompt_tokens') or 0) %} {% set cache.cached = cache.cached + (usage.get(prefix ~ '_cached_tokens') or 0) %} {% set cache.writes = cache.writes + (usage.get(prefix ~ '_cache_write_tokens') or 0) %} {% set cache.reported = cache.reported + (usage.get(prefix ~ '_cache_reported_calls') or 0) %} {% set cache.hits = cache.hits + (usage.get(prefix ~ '_cache_hit_calls') or 0) %} {% if (prefix ~ '_cache_reported_calls') in usage %}{% set cache.tracked = true %}{% endif %} {% endfor %} {% if cache.prompt %}

Provider prompt cache

{{ cache_kpis((100 * cache.cached / cache.prompt)|round(1) if cache.tracked or cache.cached else none, cache.hits, cache.reported, cache.cached, cache.writes if cache.tracked else none) }}

Counts are provider-reported across answer, diagnostic and judge calls. Each case sends different evidence, so reuse comes mainly from shared instructions, and providers cache only prefixes above a model-specific minimum length. {% if not cache.tracked %}This run predates per-call cache tracking; the hit rate and writes were not recorded.{% endif %}

{% endif %}
Token usage & cost details

Usage is reported by the provider. Missing prices or usage mean the cost is unknown. Compare models & rerankers for per-call measurements.

{% for label, prefix, lane in lanes %} {% set reported = usage.get(prefix ~ '_cache_reported_calls') %} {% endfor %}
PurposeInput tokensCached inputCache writesCache hit rateOutput tokensAPI cost
{{ label }}{{ usage.get(prefix ~ '_prompt_tokens', '—') }}{{ usage.get(prefix ~ '_cached_tokens', '—') }}{{ usage.get(prefix ~ '_cache_write_tokens', '—') }}{% if reported %}{{ '%.1f%%'|format(100 * usage.get(prefix ~ '_cache_hit_calls', 0) / reported) }} ({{ usage.get(prefix ~ '_cache_hit_calls', 0) }}/{{ reported }}){% else %}—{% endif %}{{ usage.get(prefix ~ '_completion_tokens', '—') }}{% set cost = usage.get('lane_cost_usd', {}).get(lane) %}{% if cost is not none %}${{ '%.6f'|format(cost) }}{% else %}Unknown{% endif %}
Raw usage & pricing metadata
{{ usage|tojson(indent=2) }}
{% endif %}