DotCache-Arena / dotcache /selector_profiles.py
DeanoCalver's picture
Initial DotCache Arena Space upload
751ad26 verified
Raw
History Blame Contribute Delete
1.18 kB
from __future__ import annotations
from dataclasses import dataclass
@dataclass(frozen=True, slots=True)
class SelectorProfileResolution:
profile: str
target_candidate: str
logit_offset: float
def resolve_learned_page_selector_profile(
*,
profile: str,
model_id: str | None,
target_candidate: str,
logit_offset: float,
) -> SelectorProfileResolution:
profile_name = str(profile or "quality")
if profile_name == "manual":
return SelectorProfileResolution(
profile="manual",
target_candidate=str(target_candidate),
logit_offset=float(logit_offset),
)
resolved_target = "M3/affine/4/float16"
resolved_offset = 0.0
model_token = str(model_id or "").lower()
if profile_name == "systems":
if "qwen3.5" in model_token or "qwen/qwen3.5" in model_token:
resolved_offset = 2.0
elif profile_name != "quality":
raise ValueError("profile must be one of: quality, systems, manual")
return SelectorProfileResolution(
profile=profile_name,
target_candidate=resolved_target,
logit_offset=float(resolved_offset),
)