huibao/README.md

123 lines
3.5 KiB
Markdown
Raw Permalink Normal View 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. 安装依赖
```bash
cd backend
pip install -r requirements.txt
```
### 2. 启动后端
```bash
python run.py
```
### 3. 访问前端
打开浏览器访问 http://localhost:8000
## 预置公司列表
| 股票代码 | 公司名称 | 行业分类 |
|---------|---------|---------|
| 300622 | 博士眼镜 | 眼镜零售 |
| 603069 | 海汽集团 | 眼镜制造 |
| 300871 | 回盛生物 | 医疗器械 |
| 002867 | 周大生 | 珠宝眼镜 |
| 603839 | 安正时尚 | 时尚配饰 |
## API文档
启动服务后访问 http://localhost:8000/docs 查看完整API文档
## 配置说明
配置文件位于 `backend/app/config.py`
```python
# 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"
```