Implement LLM-WP-0007: Kimi K3 default and EUR spend reporting
Add moonshotai/kimi-k3 as OpenRouter basemodel default after live smoke, USD→EUR cost conversion, append-only usage ledger, and CLI run/cost/spend week commands with token and euro reporting.
This commit is contained in:
parent
f3121c3f1f
commit
09aa1f3604
21 changed files with 1396 additions and 103 deletions
|
|
@ -93,6 +93,26 @@ class LLMAdapter(ABC):
|
|||
if config.budget_tracker is not None:
|
||||
tokens = response.usage.get("total_tokens", 0)
|
||||
config.budget_tracker.consume(tokens)
|
||||
self._maybe_record_usage(response)
|
||||
|
||||
def _maybe_record_usage(self, response: LLMResponse) -> None:
|
||||
"""Opt-in usage ledger write when ``LLM_CONNECT_USAGE_LEDGER`` is set."""
|
||||
try:
|
||||
from llm_connect.usage import maybe_record_usage
|
||||
|
||||
provider = (
|
||||
(response.metadata or {}).get("provider")
|
||||
or getattr(self, "provider_id", None)
|
||||
or type(self).__name__
|
||||
)
|
||||
maybe_record_usage(
|
||||
response,
|
||||
provider=str(provider),
|
||||
source="library",
|
||||
)
|
||||
except Exception:
|
||||
# Spend accounting must never break inference.
|
||||
return
|
||||
|
||||
|
||||
class MockLLMAdapter(LLMAdapter):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue