diff --git a/pkg/openai/modelmgr.py b/pkg/openai/modelmgr.py new file mode 100644 index 00000000..c106824e --- /dev/null +++ b/pkg/openai/modelmgr.py @@ -0,0 +1,34 @@ +# 提供与模型交互的抽象接口 + +COMPLETION_MODELS = { + 'text-davinci-003' +} + +EDIT_MODELS = { + +} + +IMAGE_MODELS = { + +} + + +# ModelManager +# 由session包含 +class ModelMgr(object): + + using_completion_model = "" + using_edit_model = "" + using_image_model = "" + + def __init__(self): + pass + + def get_using_completion_model(self): + return self.using_completion_model + + def get_using_edit_model(self): + return self.using_edit_model + + def get_using_image_model(self): + return self.using_image_model diff --git a/pkg/utils/__init__.py b/pkg/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pkg/utils/reloader.py b/pkg/utils/reloader.py new file mode 100644 index 00000000..5cb3b16d --- /dev/null +++ b/pkg/utils/reloader.py @@ -0,0 +1,19 @@ +import logging + +import pkg +import importlib +import pkgutil + + +def walk(module, prefix=''): + for item in pkgutil.iter_modules(module.__path__): + if item.ispkg: + walk(__import__(module.__name__ + '.' + item.name, fromlist=['']), prefix + item.name + '.') + else: + logging.info('reload module: {}'.format(prefix + item.name)) + importlib.reload(__import__(module.__name__ + '.' + item.name, fromlist=[''])) + + +def reload_all(): + walk(pkg) + importlib.reload(__import__('config')) diff --git a/pkg/utils/updater.py b/pkg/utils/updater.py new file mode 100644 index 00000000..cba1d87d --- /dev/null +++ b/pkg/utils/updater.py @@ -0,0 +1,7 @@ +def update_all(): + try: + from dulwich import porcelain + repo = porcelain.open_repo('.') + porcelain.pull(repo) + except ModuleNotFoundError: + raise Exception("dulwich模块未安装,请查看 https://github.com/RockChinQ/QChatGPT/issues/77") \ No newline at end of file