Refactor: Pricing/Draft-Pfad als Single Source of Truth (Phase 1)

- Neuer services/pricing.py: PRICING-Dict + compute_savings() aus dem
  system-Router extrahiert; Router ist jetzt dünn (nur role_map + Aufruf).
- /system/token-stats liefert zusätzlich das pricing-Dict → Frontend zeigt
  die Tarife daraus an statt sie im Text zu hartkodieren.
- SPEC_DRAFT_MODEL_PATH in config.py (MC_SPEC_DRAFT_MODEL); llamaswap.py und
  migrate_config.py referenzieren die Konstante statt des doppelten Literals.
- Ersparnis-Berechnung verhaltensneutral verifiziert (35,09 $ / 32,28 €).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-06-26 14:28:26 +02:00
parent 35dcc69ba5
commit a7c3f8f516
8 changed files with 155 additions and 133 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ from pathlib import Path
sys.path.append(str(Path(__file__).resolve().parent))
from services.llamaswap import read_config, write_config
from config import CONFIG_PATH
from config import CONFIG_PATH, SPEC_DRAFT_MODEL_PATH
def migrate():
print(f"Reading config from {CONFIG_PATH}...")
@@ -15,9 +15,9 @@ def migrate():
cfg = read_config()
models = cfg.get("models", {})
draft_path = "/srv/models/drafts/qwen2.5-1.5b-instruct-q4_k_m.gguf"
draft_path = SPEC_DRAFT_MODEL_PATH
for name, spec in models.items():
if not isinstance(spec, dict):
continue