From 8e143885ad90a156c44baa47e7443ede5a1c7c00 Mon Sep 17 00:00:00 2001 From: glide-the <2533736852@qq.com> Date: Sun, 9 Jun 2024 19:56:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A2=84=E8=AE=BE=EF=BC=8C=E6=8F=90=E4=BE=9B?= =?UTF-8?q?ConfigBasic=E5=BB=BA=E9=80=A0=E6=96=B9=E6=B3=95=E4=BA=A7?= =?UTF-8?q?=E7=94=9F=E5=AE=9E=E4=BE=8B=E3=80=82=20=20=20=20=20=E8=AF=A5?= =?UTF-8?q?=E7=B1=BB=E7=9A=84=E5=AE=9E=E4=BE=8B=E5=AF=B9=E8=B1=A1=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E5=AD=98=E5=82=A8=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4=E7=9A=84=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E7=AD=89=20=20=20=20=20=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=9C=A8=E7=94=A8=E6=88=B7=E7=9A=84=E5=AE=B6=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=B8=8B=E7=9A=84.config/chatchat/workspace/workspace=5Fconfig?= =?UTF-8?q?.json=E6=96=87=E4=BB=B6=E4=B8=AD=E3=80=82=20=20=20=20=20?= =?UTF-8?q?=E6=B3=A8=E6=84=8F=EF=BC=9A=E4=B8=8D=E5=AD=98=E5=9C=A8=E5=88=99?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E9=BB=98=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chatchat/config_work_space.py | 48 +++++++++++++++++++ .../chatchat/configs/__init__.py | 9 ++++ .../chatchat/configs/_basic_config.py | 3 ++ libs/chatchat-server/pyproject.toml | 1 + 4 files changed, 61 insertions(+) create mode 100644 libs/chatchat-server/chatchat/config_work_space.py diff --git a/libs/chatchat-server/chatchat/config_work_space.py b/libs/chatchat-server/chatchat/config_work_space.py new file mode 100644 index 00000000..7539356f --- /dev/null +++ b/libs/chatchat-server/chatchat/config_work_space.py @@ -0,0 +1,48 @@ +from chatchat.configs import config_workspace as workspace + + +def main(): + import argparse + + parser = argparse.ArgumentParser(description="chatchat工作空间配置") + # 只能选择true或false + parser.add_argument( + "-v", + "--verbose", + default="false", + choices=["true", "false"], + help="是否开启详细日志" + ) + parser.add_argument( + "-d", + "--data", + help="数据存放路径" + ) + parser.add_argument( + "-f", + "--format", + help="日志格式" + ) + parser.add_argument( + "--clear", + action="store_true", + help="清除配置" + ) + args = parser.parse_args() + + if args.verbose: + if args.verbose.lower() == "true": + workspace.set_log_verbose(True) + else: + workspace.set_log_verbose(False) + if args.data: + workspace.set_data_path(args.data) + if args.format: + workspace.set_log_format(args.format) + if args.clear: + workspace.clear() + print(workspace.get_config()) + + +if __name__ == "__main__": + main() diff --git a/libs/chatchat-server/chatchat/configs/__init__.py b/libs/chatchat-server/chatchat/configs/__init__.py index 5f23f5ab..c1191b08 100644 --- a/libs/chatchat-server/chatchat/configs/__init__.py +++ b/libs/chatchat-server/chatchat/configs/__init__.py @@ -120,6 +120,12 @@ def _import_ConfigWorkSpace() -> Any: return ConfigWorkSpace +def _import_config_workspace() -> Any: + basic_config_load = CONFIG_IMPORTS.get("_basic_config.py") + load_mod = basic_config_load.get("load_mod") + config_workspace = load_mod(basic_config_load.get("module"), "config_workspace") + return config_workspace + def _import_log_verbose() -> Any: basic_config_load = CONFIG_IMPORTS.get("_basic_config.py") load_mod = basic_config_load.get("load_mod") @@ -513,6 +519,8 @@ def __getattr__(name: str) -> Any: return _import_ConfigBasicFactory() elif name == "ConfigWorkSpace": return _import_ConfigWorkSpace() + elif name == "config_workspace": + return _import_config_workspace() elif name == "log_verbose": return _import_log_verbose() elif name == "CHATCHAT_ROOT": @@ -613,6 +621,7 @@ VERSION = "v0.3.0-preview" __all__ = [ "VERSION", + "config_workspace", "log_verbose", "CHATCHAT_ROOT", "DATA_PATH", diff --git a/libs/chatchat-server/chatchat/configs/_basic_config.py b/libs/chatchat-server/chatchat/configs/_basic_config.py index 03655ce2..61108bde 100644 --- a/libs/chatchat-server/chatchat/configs/_basic_config.py +++ b/libs/chatchat-server/chatchat/configs/_basic_config.py @@ -26,6 +26,9 @@ class ConfigBasic: BASE_TEMP_DIR: str """临时文件目录,主要用于文件对话""" + def __str__(self): + return f"ConfigBasic(log_verbose={self.log_verbose}, CHATCHAT_ROOT={self.CHATCHAT_ROOT}, DATA_PATH={self.DATA_PATH}, IMG_DIR={self.IMG_DIR}, NLTK_DATA_PATH={self.NLTK_DATA_PATH}, LOG_FORMAT={self.LOG_FORMAT}, LOG_PATH={self.LOG_PATH}, MEDIA_PATH={self.MEDIA_PATH}, BASE_TEMP_DIR={self.BASE_TEMP_DIR})" + class ConfigBasicFactory: """Basic config for ChatChat """ diff --git a/libs/chatchat-server/pyproject.toml b/libs/chatchat-server/pyproject.toml index f9adff8d..e105db24 100644 --- a/libs/chatchat-server/pyproject.toml +++ b/libs/chatchat-server/pyproject.toml @@ -11,6 +11,7 @@ packages = [ [tool.poetry.scripts] chatchat = 'chatchat.startup:main' chatchat-kb = 'chatchat.init_database:main' +chatchat-config = 'chatchat.config_work_space:main' [tool.poetry.dependencies] python = ">=3.8.1,<3.12,!=3.9.7"