adelevett's picture
Deploy ELBench-live dashboard
5db30ac verified
Raw History Blame Contribute Delete
629 Bytes
from __future__ import annotations
from abc import ABC, abstractmethod
from elbench.schemas.config import ModelConfig, ProviderConfig
from elbench.schemas.evaluation import GenerationRequest, ModelResponse, Sample
class ModelClient(ABC):
def __init__(self, provider_config: ProviderConfig, model_config: ModelConfig) -> None:
self.provider_config = provider_config
self.model_config = model_config
@abstractmethod
async def generate(self, sample: Sample, request: GenerationRequest) -> ModelResponse:
raise NotImplementedError
async def aclose(self) -> None:
return None