config.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. if not DEEPSEEK_API_KEY:
  31. print(f"从环境变量中获取 DEEPSEEK_API_KEY 失败,使用默认值")
  32. DEEPSEEK_API_KEY = "sk-d9526c1f01dc488d9aae9624ce4bba14"
  33. # API基础URL配置 - 默认使用DeepSeek官方API地址
  34. DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL", "https://api.deepseek.com")
  35. # ============================================================================
  36. # 规则引擎 API 配置
  37. # ============================================================================
  38. # 规则引擎基础URL配置 - 用于指标计算和知识库访问
  39. RULES_ENGINE_BASE_URL = os.getenv("RULES_ENGINE_BASE_URL", "http://10.192.72.11:31809")
  40. # ============================================================================
  41. # 项目路径配置
  42. # ============================================================================
  43. # 定义项目中各个功能模块的数据存储路径
  44. PATHS = {
  45. "json_configs": "json_files", # JSON配置文件目录 - 存储指标计算配置
  46. "knowledge_base": "knowledge_base", # 知识库目录 - 存储生成的知识文档
  47. "logs": "logs" # 日志目录 - 存储系统运行日志
  48. }
  49. # ============================================================================
  50. # 目录初始化
  51. # ============================================================================
  52. # 确保所有必要的目录都存在,避免文件操作时的路径错误
  53. for path in PATHS.values():
  54. os.makedirs(path, exist_ok=True)
  55. # ============================================================================
  56. # 配置验证函数
  57. # ============================================================================
  58. def validate_config():
  59. """
  60. 验证系统配置是否正确
  61. 此函数检查所有必要的配置项是否已正确设置,包括:
  62. - API密钥是否存在
  63. - API URL格式是否正确
  64. Returns:
  65. list: 配置错误列表,如果为空则表示配置正确
  66. """
  67. errors = []
  68. # 检查API密钥
  69. if not DEEPSEEK_API_KEY:
  70. errors.append("DEEPSEEK_API_KEY环境变量未设置")
  71. # 检查API URL格式
  72. if not DEEPSEEK_BASE_URL.startswith("https://"):
  73. errors.append("DEEPSEEK_BASE_URL必须是HTTPS URL")
  74. return errors
  75. # ============================================================================
  76. # 配置状态标识
  77. # ============================================================================
  78. # 全局配置状态标识,True表示配置正确,False表示存在配置问题
  79. CONFIG_VALID = len(validate_config()) == 0
  80. # 数据打标引擎入参映射(行业 -> ID)
  81. DATA_CLASSIFY_ENGINE_PARAM_MAPPER = {
  82. "农业": "metric-农业分类打标-1230"
  83. }
  84. # 千问32B模型配置
  85. qwen3_32B_model = {
  86. "name": "Qwen3-32B",
  87. "api_key": "",
  88. "base_url": "http://10.192.72.12:9996/v1"
  89. }
  90. # deepseek模型配置
  91. deepseek_v3_model = {
  92. "name": "deepseek-chat",
  93. "api_key": DEEPSEEK_API_KEY,
  94. "base_url": DEEPSEEK_BASE_URL
  95. }
  96. # 多模型接口地址
  97. multimodal_api_url = "http://103.154.31.78:20012/api/file/read"