twn39's picture
update
58384c0
raw
history blame
736 Bytes
from typing import List
from attrs import define, field
from abc import ABC, abstractmethod
@define
class BaseLLM(ABC):
api_key: str = field(default='')
@abstractmethod
def support_models(self) -> List[str]:
pass
@abstractmethod
def base_url(self) -> str:
pass
@define
class DeepSeekLLM(BaseLLM):
_support_models = ['deepseek-chat', 'deepseek-coder']
_base_url = 'https://api.deepseek.com/v1'
_default_model = 'deepseek-chat'
@property
def support_models(self) -> List[str]:
return self._support_models
@property
def base_url(self) -> str:
return self._base_url
@property
def default_model(self) -> str:
return self._default_model