25 lines
582 B
Python
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)
|