from abc import ABC, abstractmethod class LLMProvider(ABC): @abstractmethod async def complete( self, text: str, history: list[dict] | None = None, session_id: str | None = None, ) -> str: ...