25 lines
582 B
Python

"""Endpoint prober plugins: how the runner verifies a model endpoint is
usable before burning samples. Default 'ping' sends one 1-token request."""
from ..eval.registry import EvalRegistry
PROBER_REGISTRY = EvalRegistry('prober')
def register_prober(name: str):
def decorator(fn):
PROBER_REGISTRY.register(name, fn)
return fn
return decorator
def get_prober(name: str = 'ping'):
return PROBER_REGISTRY.get(name)
@register_prober('ping')
async def ping(adapter):
from .runner import _default_ping_probe
await _default_ping_probe(adapter)