config.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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://127.0.0.1:3000").split(",")
  32. # 缓存设置
  33. ENABLE_CACHE = os.getenv("ENABLE_CACHE", "True").lower() == "true"
  34. CACHE_EXPIRY = int(os.getenv("CACHE_EXPIRY", "86400")) # 默认24小时
  35. # 用户认证配置
  36. SECRET_KEY = os.getenv("SECRET_KEY", "your-very-secret-key-change-this-in-production")
  37. ALGORITHM = "HS256"
  38. ACCESS_TOKEN_EXPIRE_MINUTES = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", "1440")) # 24小时