File size: 863 Bytes
77320e4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from abc import ABC

from ..exceptions.exceptions import InputErrorException
from ..schemas import BaseCompletion


class BaseLLM(ABC):

    def __init__(self, model_name: str, params: dict, **kwargs):
        self.__model_name = model_name
        self.__params = params

    @classmethod
    async def create(cls, config_data: dict):
        pass

    @property
    def model_name(self) -> str:
        return self.__model_name

    @model_name.setter
    def model_name(self, model_name):
        if model_name is None:
            raise InputErrorException("Invalid model_name {}".format(model_name))
        self.__model_name = model_name

    @property
    def params(self) -> dict:
        return self.__params

    def completion(self, prompt) -> BaseCompletion:
        pass

    async def async_completion(self, prompt) -> BaseCompletion:
        pass