huibao/backend/app/config.py

96 lines
2.6 KiB
Python
Raw Permalink Normal View History

"""
配置文件
"""
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)