""" 文献启明星配置文件 管理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小时