""" Big Agent 配置文件 ================ 此配置文件包含了Big Agent系统的所有核心配置信息,包括: - API密钥配置(DeepSeek等) - 工作流参数设置 - 路径配置 - 环境变量加载 主要功能: 1. 从环境变量或.env文件加载API密钥 2. 定义系统工作流的基本参数 3. 配置项目文件路径 4. 验证配置完整性 作者: Big Agent Team 版本: 1.0.0 更新时间: 2024-12-18 """ import os from dotenv import load_dotenv # ============================================================================ # 环境变量加载 # ============================================================================ # 从.env文件加载环境变量,确保敏感信息不被硬编码到源码中 load_dotenv() # ============================================================================ # DeepSeek API 配置 # ============================================================================ # API密钥配置 - 优先从环境变量读取,支持通过.env文件配置 DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") # API基础URL配置 - 默认使用DeepSeek官方API地址 DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL", "https://api.deepseek.com") # ============================================================================ # 规则引擎 API 配置 # ============================================================================ # 规则引擎基础URL配置 - 用于指标计算和知识库访问 RULES_ENGINE_BASE_URL = os.getenv("RULES_ENGINE_BASE_URL", "http://localhost:8081") # ============================================================================ # 项目路径配置 # ============================================================================ # 定义项目中各个功能模块的数据存储路径 PATHS = { "json_configs": "json_files", # JSON配置文件目录 - 存储指标计算配置 "knowledge_base": "knowledge_base", # 知识库目录 - 存储生成的知识文档 "logs": "logs", # 日志目录 - 存储系统运行日志 "api_results": "api_results" # API结果目录 - 存储所有API调用结果 } # ============================================================================ # 目录初始化 # ============================================================================ # 确保所有必要的目录都存在,避免文件操作时的路径错误 for path in PATHS.values(): os.makedirs(path, exist_ok=True) # ============================================================================ # 配置验证函数 # ============================================================================ def validate_config(): """ 验证系统配置是否正确 此函数检查所有必要的配置项是否已正确设置,包括: - API密钥是否存在 - API URL格式是否正确 Returns: list: 配置错误列表,如果为空则表示配置正确 """ errors = [] # 检查API密钥 if not DEEPSEEK_API_KEY: errors.append("DEEPSEEK_API_KEY环境变量未设置") # 检查API URL格式 if not DEEPSEEK_BASE_URL.startswith("https://"): errors.append("DEEPSEEK_BASE_URL必须是HTTPS URL") return errors # ============================================================================ # 配置状态标识 # ============================================================================ # 全局配置状态标识,True表示配置正确,False表示存在配置问题 CONFIG_VALID = len(validate_config()) == 0