Files
FilesReadSystem/比赛备赛规划.md
KiriAky 107 44d389a434 临时禁用RAG服务并添加日志记录
- 在RAGService中添加_disabled标志,临时禁用所有RAG功能
- 添加详细的日志记录,便于调试和监控被跳过的操作
- 在TableRAGService中同样添加禁用机制,避免索引构建

refactor(file): 更新.gitignore忽略日志目录

- 添加**/logs/到.gitignore文件中

docs(plan): 添加比赛备赛规划文档

- 创建完整的比赛备赛规划文档,包含功能清单和待办事项
- 记录已完成功能和核心缺失模块,便于项目跟踪

chore(excel): 添加Q&A参考文件

- 添加Q&A.xlsx作为参考文档,包含比赛相关问题解答
2026-04-08 19:59:41 +08:00

219 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 比赛备赛规划文档
## 一、赛题核心理解
### 1.1 赛题名称
**A23 - 基于大语言模型的文档理解与多源数据融合**
参赛院校:金陵科技学院
### 1.2 核心任务
1. **文档解析**:解析 docx/md/xlsx/txt 四种格式的源数据文档
2. **模板填写**:根据模板表格要求,从源文档中提取数据填写到 Word/Excel 模板
3. **准确率与速度**:准确率优先,速度作为辅助评分因素
### 1.3 评分规则
| 要素 | 说明 |
|------|------|
| 准确率 | 填写结果与样例表格对比的正确率 |
| 响应时间 | 从导入文档到得到结果的时间 ≤ 90s × 文档数量 |
| 评测方式 | 赛方提供空表格模板 + 样例表格(人工填写),系统自动填写后对比 |
### 1.4 关键Q&A摘录
| 问题 | 解答要点 |
|------|----------|
| Q2: 模板与文档的关系 | 前2个表格只涉及1份文档第3-4个涉及多份文档第5个涉及大部分文档从易到难 |
| Q5: 响应时间定义 | 从导入文档到最终得到结果的时间 ≤ 90s × 文档数量 |
| Q7: 需要读取哪些文件 | 每个模板只读取指定的数据文件,不需要读取全部 |
| Q10: 部署方式 | 不要求部署到服务器,本地部署即可 |
| Q14: 模板匹配 | 模板已指定数据文件,不需要算法匹配 |
| Q16: 数据库存储 | 可跳过,不强制要求 |
| Q20: 创新点 | 不用管,随意发挥 |
| Q21: 填写依据 | 按照测试表格模板给的提示词进行填写 |
---
## 二、已完成功能清单
### 2.1 后端服务 (`backend/app/services/`)
| 服务文件 | 功能状态 | 说明 |
|----------|----------|------|
| `file_service.py` | ✅ 已完成 | 文件上传、保存、类型识别 |
| `excel_storage_service.py` | ✅ 已完成 | Excel 存储到 MySQL支持 XML 回退解析 |
| `table_rag_service.py` | ⚠️ 已禁用 | RAG 索引构建(当前禁用,仅记录日志) |
| `llm_service.py` | ✅ 已完成 | LLM 调用、流式输出、多模型支持 |
| `markdown_ai_service.py` | ✅ 已完成 | Markdown AI 分析、分章节提取、流式输出、图表生成 |
| `excel_ai_service.py` | ✅ 已完成 | Excel AI 分析 |
| `visualization_service.py` | ✅ 已完成 | 图表生成matplotlib |
| `rag_service.py` | ⚠️ 已禁用 | FAISS 向量检索(当前禁用) |
| `prompt_service.py` | ✅ 已完成 | Prompt 模板管理 |
| `text_analysis_service.py` | ✅ 已完成 | 文本分析 |
| `chart_generator_service.py` | ✅ 已完成 | 图表生成服务 |
| `template_fill_service.py` | ❌ 未完成 | 模板填写服务 |
### 2.2 API 接口 (`backend/app/api/endpoints/`)
| 接口文件 | 路由 | 功能状态 |
|----------|------|----------|
| `upload.py` | `/api/v1/upload/excel` | ✅ Excel 文件上传与解析 |
| `documents.py` | `/api/v1/documents/*` | ✅ 文档管理(列表、删除、搜索) |
| `ai_analyze.py` | `/api/v1/analyze/*` | ✅ AI 分析Excel、Markdown、流式 |
| `rag.py` | `/api/v1/rag/*` | ⚠️ RAG 检索(当前返回空) |
| `tasks.py` | `/api/v1/tasks/*` | ✅ 异步任务状态查询 |
| `templates.py` | `/api/v1/templates/*` | ✅ 模板管理 |
| `visualization.py` | `/api/v1/visualization/*` | ✅ 可视化图表 |
| `health.py` | `/api/v1/health` | ✅ 健康检查 |
### 2.3 前端页面 (`frontend/src/pages/`)
| 页面文件 | 功能 | 状态 |
|----------|------|------|
| `Documents.tsx` | 主文档管理页面 | ✅ 已完成 |
| `ExcelParse.tsx` | Excel 解析页面 | ✅ 已完成 |
### 2.4 文档解析能力
| 格式 | 解析状态 | 说明 |
|------|----------|------|
| Excel (.xlsx/.xls) | ✅ 已完成 | pandas + XML 回退解析 |
| Markdown (.md) | ✅ 已完成 | 正则 + AI 分章节 |
| Word (.docx) | ❌ 未完成 | 尚未实现 |
| Text (.txt) | ❌ 未完成 | 尚未实现 |
---
## 三、待完成功能(核心缺块)
### 3.1 模板填写模块(最优先)
**这是比赛的核心评测功能,必须完成。**
```
用户上传模板表格(Word/Excel)
解析模板,提取需要填写的字段和提示词
根据模板指定的源文档列表读取源数据
AI 根据字段提示词从源数据中提取信息
将提取的数据填入模板对应位置
返回填写完成的表格
```
**需要实现**
- [ ] `template_fill_service.py` - 模板填写核心服务
- [ ] Word 模板解析 (`docx_parser.py` 需新建)
- [ ] Text 模板解析 (`txt_parser.py` 需新建)
- [ ] 模板字段识别与提示词提取
- [ ] 多文档数据聚合与冲突处理
- [ ] 结果导出为 Word/Excel
### 3.2 Word 文档解析
**当前状态**:仅有框架,尚未实现具体解析逻辑
**需要实现**
- [ ] `docx_parser.py` - Word 文档解析器
- [ ] 提取段落文本
- [ ] 提取表格内容
- [ ] 提取关键信息(标题、列表等)
### 3.3 Text 文档解析
**需要实现**
- [ ] `txt_parser.py` - 文本文件解析器
- [ ] 编码自动检测
- [ ] 文本清洗
### 3.4 文档模板匹配(已有框架)
根据 Q&A模板已指定数据文件不需要算法匹配。当前已有上传功能需确认模板与数据文件的关联逻辑是否完善。
---
## 四、参赛材料准备
### 4.1 必交材料
| 材料 | 要求 | 当前状态 | 行动项 |
|------|------|----------|--------|
| 项目概要介绍 | PPT 格式 | ❌ 待制作 | 制作 PPT |
| 项目简介 PPT | - | ❌ 待制作 | 制作 PPT |
| 项目详细方案 | 文档 | ⚠️ 部分完成 | 完善文档 |
| 项目演示视频 | - | ❌ 待制作 | 录制演示视频 |
| 训练素材说明 | 来源说明 | ⚠️ 已有素材 | 整理素材文档 |
| 关键模块设计文档 | 概要设计 | ⚠️ 已有部分 | 完善文档 |
| 可运行 Demo | 核心代码 | ✅ 已完成 | 打包可运行版本 |
### 4.2 Demo 提交要求
根据 Q&A
- 可以只提交核心代码,不需要完整运行环境
- 现场答辩可使用自带笔记本电脑
- 需要提供部署和运行说明README
---
## 五、测试验证计划
### 5.1 使用现有测试数据
```
docs/test/
├── 2023年文化和旅游发展统计公报.md
├── 2024年卫生健康事业发展统计公报.md
├── 第三次全国工业普查主要数据公报.md
```
### 5.2 模板填写测试流程
1. 准备一个 Word/Excel 模板表格
2. 指定源数据文档
3. 上传模板和文档
4. 执行模板填写
5. 检查填写结果准确率
6. 记录响应时间
### 5.3 性能目标
| 指标 | 目标 | 当前状态 |
|------|------|----------|
| 信息提取准确率 | ≥80% | 需测试验证 |
| 单次响应时间 | ≤90s × 文档数 | 需测试验证 |
---
## 六、工作计划(建议)
### 第一优先级:模板填写核心功能
- 完成 Word 文档解析
- 完成模板填写服务
- 端到端测试验证
### 第二优先级Demo 打包与文档
- 制作项目演示 PPT
- 录制演示视频
- 完善 README 部署文档
### 第三优先级:测试优化
- 使用真实测试数据进行准确率测试
- 优化响应时间
- 完善错误处理
---
## 七、注意事项
1. **创新点**:根据 Q&A不必纠结创新点数量限制
2. **数据库**:不强制要求数据库存储,可跳过
3. **部署**:本地部署即可,不需要公网服务器
4. **评测数据**:初赛仅使用目前提供的数据
5. **RAG 功能**:当前已临时禁用,不影响核心评测功能
---
*文档版本: v1.0*
*最后更新: 2026-04-08*