防汛应急报告生成系统是一个专门为防汛应急情况设计的信息整合与报告生成平台。该系统通过收集、处理和分析各种防汛相关数据,快速生成结构化的应急报告,为防汛决策提供及时、准确的信息支持。
系统采用前后端分离架构,前端使用React和TypeScript构建用户界面,后端使用Python和FastAPI提供API服务,并集成大型语言模型(LLM)用于智能报告生成。
系统采用分层架构设计,主要分为四个层次:
- 前端层 (Frontend) - 提供用户界面和交互功能
- API层 (Backend API) - 提供RESTful API接口
- 服务层 (Service Layer) - 实现核心业务逻辑
- 数据层 (Data Layer) - 负责数据存储和访问
详细架构请参考总体架构文档。
- 知识库管理:上传、分类和管理防汛相关知识
- 报告生成:基于用户请求和知识库内容,智能生成防汛应急报告
- 报告查看:查看、下载和分享生成的报告
- 用户管理:用户注册、登录和权限控制
- 系统监控:监控系统运行状态和资源使用情况
- Python 3.9+
- Node.js 18+
- npm 8+
- 克隆代码库
git clone https://github.com/HHU3637kr/FloodReport.git
cd FloodReport- 创建并激活虚拟环境
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# Linux/Mac
source .venv/bin/activate- 安装依赖
pip install -r requirements.txt- 配置环境变量
# 复制示例配置文件
cp .env.example .env
# 编辑.env文件,填入必要的配置信息- 进入前端目录
cd frontend- 安装依赖
npm install# 在项目根目录下执行
python src/main.py或使用FastAPI开发服务器:
uvicorn src.ui.run_api:app --reloadcd frontend
npm run dev打开浏览器,访问: http://localhost:3000
- 用户通过前端界面登录系统并提交报告生成请求
- API层接收请求,验证用户权限
- 服务层从数据层检索相关信息,通过知识库管理和LLM服务生成报告内容
- 生成的报告保存到数据层,并通过API返回给前端
- 前端展示报告内容给用户
- 前端: React, TypeScript
- 后端: Python, FastAPI
- 数据存储: 文件系统, 向量数据库
- 机器学习: 大型语言模型 (LLM)
欢迎贡献代码或提出建议,请提交Issue或Pull Request。