""" 配置文件 """ import os from pydantic_settings import BaseSettings from typing import List class Settings(BaseSettings): """应用配置""" # 应用信息 APP_NAME: str = "眼镜行业情报分析系统" APP_VERSION: str = "1.0.0" DEBUG: bool = True # 数据库配置 (PostgreSQL) DATABASE_URL: str = "postgresql+asyncpg://user_xREpkJ:password_DZz8DQ@331002.xyz:2022/qingbao" # AI API配置 AI_API_KEY: str = "sk-Doiz9raiOjANJ3cRm0bUS2VHLFXSh2TT5YmF1aJu1BWiq6dO" AI_API_URL: str = "https://ai.comfly.chat/v1/chat/completions" AI_MODEL: str = "gemini-3-pro-preview" # 并行AI分析数量(降低到3以确保系统响应其他请求) AI_PARALLEL_COUNT: int = 3 # 巨潮资讯网配置 (新版HTTPS) CNINFO_BASE_URL: str = "https://www.cninfo.com.cn" CNINFO_API_URL: str = "https://www.cninfo.com.cn/new/hisAnnouncement/query" # 定时任务配置 SCHEDULER_ENABLED: bool = True SCHEDULER_INTERVAL_HOURS: int = 24 # 每24小时检查一次 SCHEDULER_CHECK_TIME: str = "08:00" # 每天8点检查 # 文件存储配置 DATA_DIR: str = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data") PDF_DIR: str = os.path.join(DATA_DIR, "pdfs") # 报告类型配置 REPORT_TYPES: List[str] = ["年度报告", "半年度报告"] # 需要提取的章节关键词 - 分为战略类和财务类 EXTRACT_KEYWORDS: List[str] = [ # === 战略规划类 === "投资方案", "未来发展规划", "发展战略", "经营计划", "战略规划", "业务展望", "发展目标", "投资计划", "资本运作", "市场拓展", "核心竞争力", "竞争优势", # === 三大财务报表 === "合并资产负债表", "合并利润表", "合并现金流量表", "主要财务数据", "财务指标", # === 经营分析类 === "主营业务分析", "经营情况讨论与分析", "报告期内主要经营情况", "主要业务分析", "收入构成", "成本分析", "毛利率", "费用分析", "研发投入", # === 行业与市场 === "行业发展趋势", "市场竞争格局", "行业地位", "市场份额" ] class Config: env_file = ".env" extra = "allow" # 创建全局配置实例 settings = Settings() # 确保数据目录存在 os.makedirs(settings.DATA_DIR, exist_ok=True) os.makedirs(settings.PDF_DIR, exist_ok=True)