Compare commits

..

2 Commits

Author SHA1 Message Date
05ae13c147 added new module 'ai.py' 2023-09-01 09:08:36 +02:00
86663e072e configuration: added AIConfig class 2023-09-01 09:08:36 +02:00
2 changed files with 13 additions and 4 deletions

View File

@ -1,7 +1,7 @@
from dataclasses import dataclass from dataclasses import dataclass
from abc import abstractmethod from abc import abstractmethod
from typing import Protocol, Optional, Union from typing import Protocol, Optional, Union
from .configuration import Config from .configuration import AIConfig
from .message import Message from .message import Message
from .chat import Chat from .chat import Chat
@ -34,7 +34,7 @@ class AI(Protocol):
""" """
name: str name: str
config: Config config: AIConfig
@abstractmethod @abstractmethod
def request(self, def request(self,

View File

@ -7,7 +7,15 @@ OpenAIConfigInst = TypeVar('OpenAIConfigInst', bound='OpenAIConfig')
@dataclass @dataclass
class OpenAIConfig(): class AIConfig:
"""
The base class of all AI configurations.
"""
name: str
@dataclass
class OpenAIConfig(AIConfig):
""" """
The OpenAI section of the configuration file. The OpenAI section of the configuration file.
""" """
@ -25,6 +33,7 @@ class OpenAIConfig():
Create OpenAIConfig from a dict. Create OpenAIConfig from a dict.
""" """
return cls( return cls(
name='OpenAI',
api_key=str(source['api_key']), api_key=str(source['api_key']),
model=str(source['model']), model=str(source['model']),
max_tokens=int(source['max_tokens']), max_tokens=int(source['max_tokens']),
@ -36,7 +45,7 @@ class OpenAIConfig():
@dataclass @dataclass
class Config(): class Config:
""" """
The configuration file structure. The configuration file structure.
""" """