base.py 568 B

123456789101112131415161718192021222324
  1. from typing import List, Optional, Protocol
  2. from ..schemas.speech import ChatMessage, ChatResponse, TextToSpeechResponse
  3. class LLMProvider(Protocol):
  4. def chat(
  5. self,
  6. messages: List[ChatMessage],
  7. *,
  8. model: Optional[str] = None,
  9. temperature: Optional[float] = None,
  10. max_tokens: Optional[int] = None,
  11. ) -> ChatResponse:
  12. ...
  13. class SpeechProvider(Protocol):
  14. def text_to_speech(
  15. self,
  16. text: str,
  17. *,
  18. model: Optional[str] = None,
  19. ) -> TextToSpeechResponse:
  20. ...