config.py 4.2 KB

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