huibao/README.md

3.5 KiB
Raw Blame History

眼镜行业情报分析系统

项目简介

自动从巨潮资讯网获取眼镜行业及相关行业上市公司年报/半年报提取战略性内容通过多AI分层总结生成行业洞察报告。

核心功能

1. 上市公司管理

  • 预置眼镜行业核心上市公司
  • 支持手动添加/删除公司
  • 公司信息包括:股票代码、公司名称、所属行业

2. 定时报告获取

  • 自动从巨潮资讯网检测年报/半年报更新
  • 支持配置定时任务频率
  • 自动下载并解析PDF报告

3. 战略内容提取

  • 从年报中提取"投资方案"相关内容
  • 从年报中提取"未来发展规划"相关内容
  • 从年报中提取"经营计划"相关内容
  • 从年报中提取"发展战略"相关内容

4. 多AI分层分析

  • 第一层多个AI并行分析单份报告的不同章节
  • 第二层汇总AI整合各AI分析结果生成最终洞察

技术栈

  • 后端: Python + FastAPI
  • 前端: HTML + JavaScript + CSS
  • 数据库: SQLite (本地测试) / PostgreSQL (生产环境)
  • 定时任务: APScheduler
  • PDF解析: PyMuPDF (fitz)
  • AI接口: Gemini API

目录结构

qingbao/
├── backend/
│   ├── app/
│   │   ├── __init__.py
│   │   ├── main.py              # FastAPI 入口
│   │   ├── config.py            # 配置文件
│   │   ├── database.py          # 数据库连接
│   │   ├── models.py            # 数据模型
│   │   ├── schemas.py           # Pydantic 模式
│   │   ├── routers/
│   │   │   ├── __init__.py
│   │   │   ├── companies.py     # 公司管理API
│   │   │   ├── reports.py       # 报告管理API
│   │   │   ├── analysis.py      # AI分析API
│   │   │   └── scheduler.py     # 定时任务API
│   │   ├── services/
│   │   │   ├── __init__.py
│   │   │   ├── cninfo_crawler.py    # 巨潮爬虫
│   │   │   ├── pdf_extractor.py     # PDF内容提取
│   │   │   ├── ai_analyzer.py       # AI分析服务
│   │   │   └── scheduler_service.py # 定时任务服务
│   │   └── utils/
│   │       ├── __init__.py
│   │       └── logger.py        # 日志工具
│   ├── data/                    # 下载的PDF存放目录
│   ├── requirements.txt
│   └── run.py
├── frontend/
│   ├── index.html
│   ├── css/
│   │   └── style.css
│   └── js/
│       └── app.js
└── README.md

快速开始

1. 安装依赖

cd backend
pip install -r requirements.txt

2. 启动后端

python run.py

3. 访问前端

打开浏览器访问 http://localhost:8000

预置公司列表

股票代码 公司名称 行业分类
300622 博士眼镜 眼镜零售
603069 海汽集团 眼镜制造
300871 回盛生物 医疗器械
002867 周大生 珠宝眼镜
603839 安正时尚 时尚配饰

API文档

启动服务后访问 http://localhost:8000/docs 查看完整API文档

配置说明

配置文件位于 backend/app/config.py

# AI API配置
AI_API_KEY = "sk-xxx"
AI_API_URL = "https://ai.comfly.chat/v1/chat/completions"
AI_MODEL = "gemini-3-pro-preview-thinking-*"

# 定时任务配置
SCHEDULER_INTERVAL_HOURS = 24  # 每24小时检查一次

# 数据库配置
DATABASE_URL = "sqlite:///./qingbao.db"