Re-freeze editor-tier phase A: build the provider client from the extended roster so new slugs do not fail on lookup

This commit is contained in:
Claude (backend session) 2026-08-09 02:45:04 +03:00
parent c0dd228d64
commit 87247e2e97

View file

@ -48,6 +48,21 @@ SPECIAL = {"kimi-k3": dict(units=1, roles=("editor",), max_out=4000)}
ROLES = ("translator", "editor")
def client(model: str):
"""Соединение по РАСШИРЕННОЙ таблице. Клиент эксп-22 знает только свои 11 слагов и падает
KeyError на новом кандидате тот же класс, что уронил его собственный скрин на середине."""
import os # noqa: PLC0415
from dotenv import load_dotenv # noqa: PLC0415
from openai import OpenAI # noqa: PLC0415
load_dotenv(REPO / "eval" / ".env")
base, env, *_ = ROSTER.CANDIDATES[model]
key = os.environ.get(env)
if not key:
raise SystemExit(f"нет ключа {env} для {model}")
return OpenAI(base_url=base, api_key=key, timeout=600.0, max_retries=1)
def tag(model: str, role: str, uid: str) -> str:
return f"et-scr-{model}-{role}-{uid[:6]}"
@ -88,7 +103,7 @@ def cmd_run() -> None:
continue
msgs = S22.msgs_for(role, u)
kw = ROSTER.call_kwargs(m, msgs, max_out=SPECIAL.get(m, {}).get("max_out", 16000))
rec = MONEY.purchase(led, t, m, S22.client(m), kw, role=role, uid=u["uid"])
rec = MONEY.purchase(led, t, m, client(m), kw, role=role, uid=u["uid"])
if rec is None:
print(f" {t}: не куплено")
continue