config.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. """
  2. Big Agent 配置文件
  3. ================
  4. 此配置文件包含了Big Agent系统的所有核心配置信息,包括:
  5. - API密钥配置(DeepSeek等)
  6. - 工作流参数设置
  7. - 路径配置
  8. - 环境变量加载
  9. 主要功能:
  10. 1. 从环境变量或.env文件加载API密钥
  11. 2. 定义系统工作流的基本参数
  12. 3. 配置项目文件路径
  13. 4. 验证配置完整性
  14. 作者: Big Agent Team
  15. 版本: 1.0.0
  16. 更新时间: 2024-12-18
  17. """
  18. import os
  19. from dotenv import load_dotenv
  20. # ============================================================================
  21. # 环境变量加载
  22. # ============================================================================
  23. # 从.env文件加载环境变量,确保敏感信息不被硬编码到源码中
  24. load_dotenv()
  25. # ============================================================================
  26. # DeepSeek API 配置
  27. # ============================================================================
  28. # API密钥配置 - 优先从环境变量读取,支持通过.env文件配置
  29. DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
  30. # API基础URL配置 - 默认使用DeepSeek官方API地址
  31. DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL", "https://api.deepseek.com")
  32. # ============================================================================
  33. # 规则引擎 API 配置
  34. # ============================================================================
  35. # 规则引擎基础URL配置 - 用于指标计算和知识库访问
  36. RULES_ENGINE_BASE_URL = os.getenv("RULES_ENGINE_BASE_URL", "http://localhost:8081")
  37. # ============================================================================
  38. # 项目路径配置
  39. # ============================================================================
  40. # 定义项目中各个功能模块的数据存储路径
  41. PATHS = {
  42. "json_configs": "json_files", # JSON配置文件目录 - 存储指标计算配置
  43. "knowledge_base": "knowledge_base", # 知识库目录 - 存储生成的知识文档
  44. "logs": "logs", # 日志目录 - 存储系统运行日志
  45. "api_results": "api_results" # API结果目录 - 存储所有API调用结果
  46. }
  47. # ============================================================================
  48. # 目录初始化
  49. # ============================================================================
  50. # 确保所有必要的目录都存在,避免文件操作时的路径错误
  51. for path in PATHS.values():
  52. os.makedirs(path, exist_ok=True)
  53. # ============================================================================
  54. # 配置验证函数
  55. # ============================================================================
  56. def validate_config():
  57. """
  58. 验证系统配置是否正确
  59. 此函数检查所有必要的配置项是否已正确设置,包括:
  60. - API密钥是否存在
  61. - API URL格式是否正确
  62. Returns:
  63. list: 配置错误列表,如果为空则表示配置正确
  64. """
  65. errors = []
  66. # 检查API密钥
  67. if not DEEPSEEK_API_KEY:
  68. errors.append("DEEPSEEK_API_KEY环境变量未设置")
  69. # 检查API URL格式
  70. if not DEEPSEEK_BASE_URL.startswith("https://"):
  71. errors.append("DEEPSEEK_BASE_URL必须是HTTPS URL")
  72. return errors
  73. # ============================================================================
  74. # 配置状态标识
  75. # ============================================================================
  76. # 全局配置状态标识,True表示配置正确,False表示存在配置问题
  77. CONFIG_VALID = len(validate_config()) == 0
  78. # 数据打标引擎入参映射(行业 -> ID)
  79. DATA_CLASSIFY_ENGINE_PARAM_MAPPER = {
  80. "农业": "demo-农业-01"
  81. }