config.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. """
  2. 文献启明星配置文件
  3. 管理API密钥、模型参数和其他配置选项
  4. """
  5. import os
  6. from pathlib import Path
  7. from dotenv import load_dotenv
  8. # 加载环境变量
  9. load_dotenv()
  10. # 基础路径
  11. BASE_DIR = Path(__file__).resolve().parent
  12. DATA_DIR = BASE_DIR / "data"
  13. CACHE_DIR = DATA_DIR / "cache"
  14. # 确保目录存在
  15. os.makedirs(CACHE_DIR, exist_ok=True)
  16. # API配置
  17. DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY", "")
  18. DEEPSEEK_API_URL = os.getenv("DEEPSEEK_API_URL", "https://api.deepseek.com/v1")
  19. DEEPSEEK_MODEL = os.getenv("DEEPSEEK_MODEL", "deepseek-chat")
  20. # 检索配置
  21. MAX_SEARCH_RESULTS = int(os.getenv("MAX_SEARCH_RESULTS", "15"))
  22. ARXIV_SEARCH_TIMEOUT = int(os.getenv("ARXIV_SEARCH_TIMEOUT", "30"))
  23. # 聚类配置
  24. DEFAULT_EMBEDDING_MODEL = os.getenv("DEFAULT_EMBEDDING_MODEL", "all-MiniLM-L6-v2")
  25. DEFAULT_NUM_CLUSTERS = int(os.getenv("DEFAULT_NUM_CLUSTERS", "3"))
  26. MIN_PAPERS_FOR_CLUSTERING = int(os.getenv("MIN_PAPERS_FOR_CLUSTERING", "5"))
  27. # 报告生成配置
  28. REPORT_MAX_LENGTH = int(os.getenv("REPORT_MAX_LENGTH", "1500"))
  29. REPORT_TEMPERATURE = float(os.getenv("REPORT_TEMPERATURE", "0.3"))
  30. # CORS设置 - 允许前端访问API
  31. CORS_ORIGINS = os.getenv("CORS_ORIGINS", "http://localhost:3000,http://localhost:8000").split(",")
  32. # 缓存设置
  33. ENABLE_CACHE = os.getenv("ENABLE_CACHE", "True").lower() == "true"
  34. CACHE_EXPIRY = int(os.getenv("CACHE_EXPIRY", "86400")) # 默认24小时