12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- """
- 文献启明星配置文件
- 管理API密钥、模型参数和其他配置选项
- """
- import os
- from pathlib import Path
- from dotenv import load_dotenv
- # 加载环境变量
- load_dotenv()
- # 基础路径
- BASE_DIR = Path(__file__).resolve().parent
- DATA_DIR = BASE_DIR / "data"
- CACHE_DIR = DATA_DIR / "cache"
- # 确保目录存在
- os.makedirs(CACHE_DIR, exist_ok=True)
- # API配置
- DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY", "")
- DEEPSEEK_API_URL = os.getenv("DEEPSEEK_API_URL", "https://api.deepseek.com/v1")
- DEEPSEEK_MODEL = os.getenv("DEEPSEEK_MODEL", "deepseek-chat")
- # 检索配置
- MAX_SEARCH_RESULTS = int(os.getenv("MAX_SEARCH_RESULTS", "15"))
- ARXIV_SEARCH_TIMEOUT = int(os.getenv("ARXIV_SEARCH_TIMEOUT", "30"))
- # 聚类配置
- DEFAULT_EMBEDDING_MODEL = os.getenv("DEFAULT_EMBEDDING_MODEL", "all-MiniLM-L6-v2")
- DEFAULT_NUM_CLUSTERS = int(os.getenv("DEFAULT_NUM_CLUSTERS", "3"))
- MIN_PAPERS_FOR_CLUSTERING = int(os.getenv("MIN_PAPERS_FOR_CLUSTERING", "5"))
- # 报告生成配置
- REPORT_MAX_LENGTH = int(os.getenv("REPORT_MAX_LENGTH", "1500"))
- REPORT_TEMPERATURE = float(os.getenv("REPORT_TEMPERATURE", "0.3"))
- # CORS设置 - 允许前端访问API
- CORS_ORIGINS = os.getenv("CORS_ORIGINS", "http://localhost:3000,http://127.0.0.1:3000").split(",")
- # 缓存设置
- ENABLE_CACHE = os.getenv("ENABLE_CACHE", "True").lower() == "true"
- CACHE_EXPIRY = int(os.getenv("CACHE_EXPIRY", "86400")) # 默认24小时
- # 用户认证配置
- SECRET_KEY = os.getenv("SECRET_KEY", "your-very-secret-key-change-this-in-production")
- ALGORITHM = "HS256"
- ACCESS_TOKEN_EXPIRE_MINUTES = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", "1440")) # 24小时
|