configuration: minor improvements / fixes

Could not extend the subclass of 'TypedDict' the way I wanted, so I switched to 'dataclass'.
This commit is contained in:
2023-08-16 23:22:20 +02:00
parent 380b7c1b67
commit a5c91adc41
5 changed files with 80 additions and 95 deletions
+17 -19
View File
@@ -5,7 +5,7 @@ import argparse
from chatmastermind.utils import terminal_width
from chatmastermind.main import create_parser, ask_cmd
from chatmastermind.api_client import ai
from chatmastermind.configuration import Config, OpenAIConfig
from chatmastermind.configuration import Config
from chatmastermind.storage import create_chat_hist, save_answers, dump_data
from unittest import mock
from unittest.mock import patch, MagicMock, Mock, ANY
@@ -19,18 +19,16 @@ class CmmTestCase(unittest.TestCase):
"""
Creates a dummy configuration.
"""
return Config(
system='dummy_system',
db=db,
openai=OpenAIConfig(
api_key='dummy_key',
model='dummy_model',
max_tokens=4000,
temperature=1.0,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
return Config.from_dict(
{'system': 'dummy_system',
'db': db,
'openai': {'api_key': 'dummy_key',
'model': 'dummy_model',
'max_tokens': 4000,
'temperature': 1.0,
'top_p': 1,
'frequency_penalty': 0,
'presence_penalty': 0}}
)
@@ -55,7 +53,7 @@ class TestCreateChat(CmmTestCase):
self.assertEqual(len(test_chat), 4)
self.assertEqual(test_chat[0],
{'role': 'system', 'content': self.config['system']})
{'role': 'system', 'content': self.config.system})
self.assertEqual(test_chat[1],
{'role': 'user', 'content': 'test_content'})
self.assertEqual(test_chat[2],
@@ -77,7 +75,7 @@ class TestCreateChat(CmmTestCase):
self.assertEqual(len(test_chat), 2)
self.assertEqual(test_chat[0],
{'role': 'system', 'content': self.config['system']})
{'role': 'system', 'content': self.config.system})
self.assertEqual(test_chat[1],
{'role': 'user', 'content': self.question})
@@ -100,7 +98,7 @@ class TestCreateChat(CmmTestCase):
self.assertEqual(len(test_chat), 6)
self.assertEqual(test_chat[0],
{'role': 'system', 'content': self.config['system']})
{'role': 'system', 'content': self.config.system})
self.assertEqual(test_chat[1],
{'role': 'user', 'content': 'test_content'})
self.assertEqual(test_chat[2],
@@ -209,9 +207,9 @@ class TestAI(CmmTestCase):
chat = [{"role": "system", "content": "hello ai"}]
config = self.dummy_config(db='dummy')
config['openai']['model'] = "text-davinci-002"
config['openai']['max_tokens'] = 150
config['openai']['temperature'] = 0.5
config.openai.model = "text-davinci-002"
config.openai.max_tokens = 150
config.openai.temperature = 0.5
result = ai(chat, config, 2)
expected_result = (['response_text_1', 'response_text_2'],