|
@@ -0,0 +1,57 @@
|
|
|
|
+import os
|
|
|
|
+from dotenv import load_dotenv
|
|
|
|
+from urllib.parse import quote
|
|
|
|
+
|
|
|
|
+load_dotenv()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class SiteConfig:
|
|
|
|
+ def __init__(self):
|
|
|
|
+ self.load_config()
|
|
|
|
+
|
|
|
|
+ def load_config(self):
|
|
|
|
+ self.config = {
|
|
|
|
+ "SITE_NAME": os.getenv("SITE_NAME", "DEMO"),
|
|
|
|
+ "SITE_DESCRIPTION": os.getenv("SITE_DESCRIPTION", "ChatGPT"),
|
|
|
|
+ "SITE_URL": os.getenv("SITE_URL", ""),
|
|
|
|
+ "SITE_LOGO": os.getenv("SITE_LOGO", ""),
|
|
|
|
+ "SITE_FAVICON": os.getenv("SITE_FAVICON"),
|
|
|
|
+ 'ELASTICSEARCH_HOST': os.getenv("ELASTICSEARCH_HOST"),
|
|
|
|
+ 'ELASTICSEARCH_USER': os.getenv("ELASTICSEARCH_USER"),
|
|
|
|
+ 'ELASTICSEARCH_PWD': os.getenv("ELASTICSEARCH_PWD"),
|
|
|
|
+ 'WORD_INDEX': os.getenv("WORD_INDEX"),
|
|
|
|
+ 'TITLE_INDEX': os.getenv("TITLE_INDEX"),
|
|
|
|
+ 'CHUNC_INDEX': os.getenv("CHUNC_INDEX"),
|
|
|
|
+ 'DEEPSEEK_API_URL': os.getenv("DEEPSEEK_API_URL"),
|
|
|
|
+ 'DEEPSEEK_API_KEY': os.getenv("DEEPSEEK_API_KEY"),
|
|
|
|
+ 'CACHED_DATA_PATH': os.getenv("CACHED_DATA_PATH"),
|
|
|
|
+ 'UPDATE_DATA_PATH': os.getenv("UPDATE_DATA_PATH"),
|
|
|
|
+ 'FACTOR_DATA_PATH': os.getenv("FACTOR_DATA_PATH"),
|
|
|
|
+ 'GRAPH_API_URL': os.getenv("GRAPH_API_URL"),
|
|
|
|
+ 'EMBEDDING_MODEL': os.getenv("EMBEDDING_MODEL"),
|
|
|
|
+ 'DOC_PATH': os.getenv("DOC_PATH"),
|
|
|
|
+ 'DOC_STORAGE_PATH': os.getenv("DOC_STORAGE_PATH"),
|
|
|
|
+ 'TRUNC_OUTPUT_PATH': os.getenv("TRUNC_OUTPUT_PATH"),
|
|
|
|
+ 'DOC_ABSTRACT_OUTPUT_PATH': os.getenv("DOC_ABSTRACT_OUTPUT_PATH"),
|
|
|
|
+ 'JIEBA_USER_DICT': os.getenv("JIEBA_USER_DICT"),
|
|
|
|
+ 'JIEBA_STOP_DICT': os.getenv("JIEBA_STOP_DICT"),
|
|
|
|
+ 'POSTGRESQL_HOST': os.getenv("POSTGRESQL_HOST","localhost"),
|
|
|
|
+ 'POSTGRESQL_DATABASE': os.getenv("POSTGRESQL_DATABASE","kg"),
|
|
|
|
+ 'POSTGRESQL_USER': os.getenv("POSTGRESQL_USER","dify"),
|
|
|
|
+ 'POSTGRESQL_PASSWORD': os.getenv("POSTGRESQL_PASSWORD",quote("difyai123456")),
|
|
|
|
+ }
|
|
|
|
+ def get_config(self, config_name, default=None):
|
|
|
|
+ config_name = config_name.upper()
|
|
|
|
+ value = os.getenv(config_name, None)
|
|
|
|
+ if value:
|
|
|
|
+ return value
|
|
|
|
+
|
|
|
|
+ if config_name in self.config:
|
|
|
|
+ return self.config[config_name]
|
|
|
|
+ else:
|
|
|
|
+ return default
|
|
|
|
+ def check_config(self, config_list):
|
|
|
|
+ for item in config_list:
|
|
|
|
+ if not self.get_config(item):
|
|
|
|
+ raise ValueError(f"Configuration '{item}' is not set.")
|
|
|
|
+
|