"""配置管理模块,从.env文件加载环境变量""" import os from dotenv import load_dotenv # 加载.env文件中的环境变量 load_dotenv() class ModelConfig: """模型配置类""" @staticmethod def get_model_provider() -> str: """获取模型提供商""" return os.getenv("MODEL_PROVIDER", "openai") @staticmethod def get_model_name() -> str: """获取模型名称""" return os.getenv("MODEL_NAME", "Qwen/Qwen3-VL-8B-Instruct") @staticmethod def get_embedding_model_name() -> str: """获取模型名称""" return os.getenv("EMBEDDING_MODEL_NAME", "Qwen/Qwen3-Embedding-0.6B") @staticmethod def get_base_url() -> str: """获取模型API基础URL""" return os.getenv("BASE_URL", "https://api.openai.com/v1") @staticmethod def get_api_key() -> str: """获取模型API密钥""" return os.getenv("API_KEY", "") @staticmethod def get_model_config() -> dict: """获取完整的模型配置""" return { "model_provider": ModelConfig.get_model_provider(), "model": ModelConfig.get_model_name(), "base_url": ModelConfig.get_base_url(), "api_key": ModelConfig.get_api_key() } @staticmethod def get_embedding_model_config() -> dict: """获取完整的模型配置""" return { "model_provider": ModelConfig.get_model_provider(), "model": ModelConfig.get_embedding_model_name(), "base_url": ModelConfig.get_base_url(), "api_key": ModelConfig.get_api_key() } class AppConfig: """应用配置类""" @staticmethod def get_log_level() -> str: """获取日志级别""" return os.getenv("LOG_LEVEL", "INFO") # 导出配置实例 model_config = ModelConfig.get_model_config() app_config = { "log_level": AppConfig.get_log_level() }