Update Wall-X to 1.1.0 (#104)

This commit is contained in:
Starrick Liu
2026-06-15 11:40:00 +08:00
committed by GitHub
parent e23a586846
commit 72834e7de5
200 changed files with 33916 additions and 16771 deletions
@@ -0,0 +1,39 @@
"""Inference adapter registry and factory."""
from __future__ import annotations
from typing import Type
from wall_x._vendor.harrix.adapters.base import BaseInferAdapter
from wall_x._vendor.harrix.eval_config import EvalConfig
ADAPTER_REGISTRY: dict[str, Type[BaseInferAdapter]] = {}
def register_adapter(name: str):
def deco(cls: Type[BaseInferAdapter]):
if name in ADAPTER_REGISTRY:
raise ValueError(
f"adapter {name!r} is already registered "
f"(cls={ADAPTER_REGISTRY[name].__name__})"
)
ADAPTER_REGISTRY[name] = cls
return cls
return deco
def build_adapter(cfg: EvalConfig) -> BaseInferAdapter:
arch = cfg.model.architecture
cls = ADAPTER_REGISTRY.get(arch)
if cls is None:
raise ValueError(
f"unknown architecture={arch!r}, registered={sorted(ADAPTER_REGISTRY)}"
)
return cls(cfg)
def registered_architectures() -> list[str]:
"""Return registered architecture names for diagnostics."""
return sorted(ADAPTER_REGISTRY)