| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- """配置管理模块,从.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()
- }
|