Coverage for eval_harness / providers / base.py: 100%
2 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 20:06 +0200
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 20:06 +0200
1from abc import ABC, abstractmethod
4class Provider(ABC):
5 """Abstract LLM backend.
7 Concrete providers are constructed with their own config (model name,
8 base URL, timeouts, sampling params) and expose a single async call
9 that maps a prompt to a completion string. Keeping the interface this
10 narrow lets scorers and tests treat any backend identically.
11 """
13 @abstractmethod
14 async def generate(self, prompt: str) -> str: ...