- 在RAGService中添加_disabled标志,临时禁用所有RAG功能 - 添加详细的日志记录,便于调试和监控被跳过的操作 - 在TableRAGService中同样添加禁用机制,避免索引构建 refactor(file): 更新.gitignore忽略日志目录 - 添加**/logs/到.gitignore文件中 docs(plan): 添加比赛备赛规划文档 - 创建完整的比赛备赛规划文档,包含功能清单和待办事项 - 记录已完成功能和核心缺失模块,便于项目跟踪 chore(excel): 添加Q&A参考文件 - 添加Q&A.xlsx作为参考文档,包含比赛相关问题解答
7.4 KiB
7.4 KiB
比赛备赛规划文档
一、赛题核心理解
1.1 赛题名称
A23 - 基于大语言模型的文档理解与多源数据融合 参赛院校:金陵科技学院
1.2 核心任务
- 文档解析:解析 docx/md/xlsx/txt 四种格式的源数据文档
- 模板填写:根据模板表格要求,从源文档中提取数据填写到 Word/Excel 模板
- 准确率与速度:准确率优先,速度作为辅助评分因素
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 模板填写测试流程
- 准备一个 Word/Excel 模板表格
- 指定源数据文档
- 上传模板和文档
- 执行模板填写
- 检查填写结果准确率
- 记录响应时间
5.3 性能目标
| 指标 | 目标 | 当前状态 |
|---|---|---|
| 信息提取准确率 | ≥80% | 需测试验证 |
| 单次响应时间 | ≤90s × 文档数 | 需测试验证 |
六、工作计划(建议)
第一优先级:模板填写核心功能
- 完成 Word 文档解析
- 完成模板填写服务
- 端到端测试验证
第二优先级:Demo 打包与文档
- 制作项目演示 PPT
- 录制演示视频
- 完善 README 部署文档
第三优先级:测试优化
- 使用真实测试数据进行准确率测试
- 优化响应时间
- 完善错误处理
七、注意事项
- 创新点:根据 Q&A,不必纠结创新点数量限制
- 数据库:不强制要求数据库存储,可跳过
- 部署:本地部署即可,不需要公网服务器
- 评测数据:初赛仅使用目前提供的数据
- RAG 功能:当前已临时禁用,不影响核心评测功能
文档版本: v1.0 最后更新: 2026-04-08