|
|
@@ -1,6 +1,6 @@
|
|
|
# 📊 灵越智报 2.0 - 当前进度总结
|
|
|
|
|
|
-**整体进度:80%** | **报告日期:2026-01-22**
|
|
|
+**整体进度:82%** | **报告日期:2026-01-23**
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -21,22 +21,43 @@
|
|
|
- 📦 **数据源管理** → ✅ 已完成(CRUD + 取值 + 聚合)
|
|
|
- ⏱️ **任务中心** → ✅ 已完成(多阶段进度跟踪)
|
|
|
|
|
|
-### 新增功能(2026-01-22 晚)✅ 数据提取规则系统 - 阶段一、二
|
|
|
+### 新增功能(2026-01-23)✅ 模板系统 v2.0 数据模型重构
|
|
|
+
|
|
|
+- ✅ **设计理念升级**
|
|
|
+ - 从「规则配置驱动」改为「示例文档驱动」
|
|
|
+ - 用户上传完整报告 → 标记变量 → 保存为模板 → 生成新报告
|
|
|
+
|
|
|
+- ✅ **数据库重构**
|
|
|
+ - 新增 `all_tables.sql` 完整数据库表结构(21张表)
|
|
|
+ - 新增 `template_tables.sql` 模板系统专用表
|
|
|
+ - `rebuild_all.sh` 增加 `--simple` 模式(单文件初始化)
|
|
|
+
|
|
|
+- ✅ **新实体类(4个)**
|
|
|
+ - `Template` - 报告模板(替代 Project)
|
|
|
+ - `SourceFile` - 来源文件定义(用别名标识)
|
|
|
+ - `Variable` - 模板变量(绑定到文档位置)
|
|
|
+ - `Generation` - 生成任务
|
|
|
+
|
|
|
+- ✅ **新 Repository(4个)**
|
|
|
+ - `TemplateRepository`, `SourceFileRepository`, `VariableRepository`, `GenerationRepository`
|
|
|
+
|
|
|
+- ✅ **新 DTO 类**
|
|
|
+ - `VariableLocation` - 变量在文档中的位置
|
|
|
+ - `ReferenceSourceConfig` - 引用来源配置
|
|
|
+
|
|
|
+### 新增功能(2026-01-22 晚)✅ 数据提取规则系统 - 阶段一、二(已重构)
|
|
|
|
|
|
- ✅ **第一阶段:基础设施搭建**
|
|
|
- Maven 模块 `extract-service` 框架搭建完成
|
|
|
- 启动类 `ExtractServiceApplication.java`
|
|
|
- 配置文件 `application.properties`(端口 8086)
|
|
|
- 健康检查接口 `/api/v1/extract/health`
|
|
|
- - 数据库表(5张核心表):`extract_projects`, `extract_source_documents`, `extract_rules`, `extract_results`, `extract_rule_templates`
|
|
|
+ - ~~数据库表(5张核心表)~~ → 已重构为模板系统 v2.0
|
|
|
- 集成配置:父 pom.xml、lingyue-starter 依赖
|
|
|
|
|
|
-- ✅ **第二阶段:核心实体与 Repository 层**
|
|
|
- - 实体类(5个):`Project`, `SourceDocument`, `ExtractRule`, `ExtractResult`, `RuleTemplate`
|
|
|
- - Repository 接口(5个):完整 CRUD + 自定义查询方法
|
|
|
- - 配置 DTO 类(10个):
|
|
|
- - 来源配置:`LocationConfig`, `TransformConfig`, `DocumentSourceConfig`, `SelfReferenceSourceConfig`, `FixedSourceConfig`, `ManualSourceConfig`
|
|
|
- - 提取配置:`DirectExtractConfig`, `AIExtractConfig`, `AISummarizeConfig`, `OcrExtractConfig`
|
|
|
+- ✅ **第二阶段:核心实体与 Repository 层**(已重构为 v2.0)
|
|
|
+ - ~~实体类(5个):Project, SourceDocument, ExtractRule...~~
|
|
|
+ - → 新实体:Template, SourceFile, Variable, Generation
|
|
|
|
|
|
### 新增功能(2026-01-22 下午)✅ 补充缺失接口
|
|
|
|
|
|
@@ -187,54 +208,67 @@
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 📋 下一步计划:模板系统(Week 4)
|
|
|
+## 📋 下一步计划:模板系统 v2.0(Week 4-5)
|
|
|
|
|
|
-**计划周期:2026-01-23 ~ 2026-01-27**
|
|
|
+**计划周期:2026-01-23 ~ 2026-01-31**
|
|
|
|
|
|
-**目标:实现模板系统基础功能**(设计文档 2.6)
|
|
|
+**目标:完成「示例文档驱动」的模板生成系统**
|
|
|
|
|
|
-### 1. 数据源管理 ✅ 已完成
|
|
|
+### 1. 数据模型重构 ✅ 已完成
|
|
|
|
|
|
-- [x] 数据源创建接口
|
|
|
-- [x] 数据源绑定节点(支持 GraphNode + DocumentElement)
|
|
|
-- [x] 数据源查询接口(按ID/文档/用户/类型)
|
|
|
-- [x] 数据源取值接口(支持聚合:first/last/concat/sum/avg/list)
|
|
|
-- [x] 数据源批量取值(用于模板渲染)
|
|
|
+- [x] 数据库表重构(templates, source_files, variables, generations)
|
|
|
+- [x] 实体类创建(Template, SourceFile, Variable, Generation)
|
|
|
+- [x] Repository 接口(4个)
|
|
|
+- [x] all_tables.sql 完整表结构
|
|
|
+- [x] rebuild_all.sh --simple 模式
|
|
|
|
|
|
-### 2. 模板系统基础(下一步重点)
|
|
|
+### 2. 模板管理(下一步重点)
|
|
|
+
|
|
|
+**核心用户流程:**
|
|
|
+1. 用户上传示例报告(Word 文档)
|
|
|
+2. 在报告中选中文本,标记为"变量"
|
|
|
+3. 为每个变量配置数据来源(从哪个来源文件提取)
|
|
|
+4. 保存为模板
|
|
|
+
|
|
|
+**待实现 API:**
|
|
|
+
|
|
|
+| 接口 | 方法 | 说明 | 状态 |
|
|
|
+|------|------|------|------|
|
|
|
+| `/api/v1/templates` | POST | 创建模板 | ⏳ |
|
|
|
+| `/api/v1/templates/{id}` | GET | 获取模板详情 | ⏳ |
|
|
|
+| `/api/v1/templates` | GET | 模板列表 | ⏳ |
|
|
|
+| `/api/v1/templates/{id}` | PUT | 更新模板 | ⏳ |
|
|
|
+| `/api/v1/templates/{id}/publish` | POST | 发布模板 | ⏳ |
|
|
|
+| `/api/v1/templates/{id}/source-files` | POST | 添加来源文件定义 | ⏳ |
|
|
|
+| `/api/v1/templates/{id}/variables` | POST | 添加变量 | ⏳ |
|
|
|
|
|
|
-根据设计文档 2.6.1:
|
|
|
-> 模板是对应输出的占位符结构,占位符绑定到数据源编号
|
|
|
+### 3. 报告生成
|
|
|
|
|
|
-**实施任务:**
|
|
|
-- [ ] 模板创建接口(Template 实体,占位符解析)
|
|
|
-- [ ] 占位符绑定数据源(placeholder_mapping JSONB 存储)
|
|
|
-- [ ] 模板渲染接口(占位符替换,调用数据源批量取值)
|
|
|
-- [ ] 模板复制功能(基于已有模板复制)
|
|
|
+**核心用户流程:**
|
|
|
+1. 选择模板
|
|
|
+2. 上传新的来源文件(按模板定义的别名)
|
|
|
+3. 系统自动提取变量值
|
|
|
+4. 用户确认/修改提取结果
|
|
|
+5. 生成新报告
|
|
|
|
|
|
-### 3. 已实现的数据源 API
|
|
|
+**待实现 API:**
|
|
|
|
|
|
| 接口 | 方法 | 说明 | 状态 |
|
|
|
|------|------|------|------|
|
|
|
-| `/api/v1/datasource` | POST | 创建数据源 | ✅ |
|
|
|
-| `/api/v1/datasource/{id}` | GET | 获取数据源 | ✅ |
|
|
|
-| `/api/v1/datasource/document/{documentId}` | GET | 按文档查询 | ✅ |
|
|
|
-| `/api/v1/datasource/user/{userId}` | GET | 按用户查询 | ✅ |
|
|
|
-| `/api/v1/datasource/{id}` | PUT | 更新数据源 | ✅ |
|
|
|
-| `/api/v1/datasource/{id}/refs` | PUT | 更新绑定节点 | ✅ |
|
|
|
-| `/api/v1/datasource/{id}` | DELETE | 删除数据源 | ✅ |
|
|
|
-| `/api/v1/datasource/{id}/value` | GET | 获取数据源值 | ✅ |
|
|
|
-| `/api/v1/datasource/batch-value` | POST | 批量获取值 | ✅ |
|
|
|
+| `/api/v1/generations` | POST | 创建生成任务 | ⏳ |
|
|
|
+| `/api/v1/generations/{id}` | GET | 获取生成任务详情 | ⏳ |
|
|
|
+| `/api/v1/generations/{id}/extract` | POST | 执行变量提取 | ⏳ |
|
|
|
+| `/api/v1/generations/{id}/confirm` | POST | 确认提取结果 | ⏳ |
|
|
|
+| `/api/v1/generations/{id}/generate` | POST | 生成最终报告 | ⏳ |
|
|
|
|
|
|
-### 4. 待实现的模板 API
|
|
|
+### 4. 已实现的数据源 API(保留)
|
|
|
|
|
|
| 接口 | 方法 | 说明 | 状态 |
|
|
|
|------|------|------|------|
|
|
|
-| `/api/v1/template` | POST | 创建模板 | ⏳ |
|
|
|
-| `/api/v1/template/{id}` | GET | 获取模板 | ⏳ |
|
|
|
-| `/api/v1/template/{id}/mapping` | PUT | 更新占位符映射 | ⏳ |
|
|
|
-| `/api/v1/template/{id}/render` | POST | 渲染模板 | ⏳ |
|
|
|
-| `/api/v1/template/{id}/copy` | POST | 复制模板 | ⏳ |
|
|
|
+| `/api/v1/datasource` | POST | 创建数据源 | ✅ |
|
|
|
+| `/api/v1/datasource/{id}` | GET | 获取数据源 | ✅ |
|
|
|
+| `/api/v1/datasource/{id}/value` | GET | 获取数据源值 | ✅ |
|
|
|
+| `/api/v1/datasource/batch-value` | POST | 批量获取值 | ✅ |
|
|
|
|
|
|
---
|
|
|
|
|
|
@@ -264,11 +298,17 @@ backend/
|
|
|
├── ai-service/ # AI服务
|
|
|
├── graph-service/ # 图谱服务(RAG、NER、图数据库)
|
|
|
│ └── neo4j/ # Neo4j 集成服务
|
|
|
+├── extract-service/ # 模板系统服务(v2.0)
|
|
|
+│ ├── entity/ # Template, SourceFile, Variable, Generation
|
|
|
+│ ├── repository/ # 4个 Repository
|
|
|
+│ └── dto/config/ # VariableLocation, ReferenceSourceConfig
|
|
|
├── notification-service/ # 通知服务
|
|
|
├── gateway-service/ # 网关服务
|
|
|
├── lingyue-starter/ # 单体应用启动器
|
|
|
└── sql/ # 数据库脚本
|
|
|
- ├── rebuild_all.sh # 完整重建脚本
|
|
|
+ ├── rebuild_all.sh # 完整重建脚本(支持 --simple)
|
|
|
+ ├── all_tables.sql # 完整表结构(21张表)
|
|
|
+ ├── template_tables.sql # 模板系统表(v2.0)
|
|
|
├── init.sql # 基础表
|
|
|
├── graph_tables.sql # 图谱表
|
|
|
├── supplement_tables.sql # 补充表
|
|
|
@@ -412,26 +452,49 @@ database/
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 🗄️ 数据库表清单
|
|
|
+## 🗄️ 数据库表清单(21张)
|
|
|
|
|
|
+### 基础模块
|
|
|
| 表名 | 说明 | 状态 |
|
|
|
|------|------|------|
|
|
|
| `users` | 用户表 | ✅ |
|
|
|
| `documents` | 文档表 | ✅ |
|
|
|
-| `document_elements` | 文档结构化元素 | ✅ |
|
|
|
-| `document_blocks` | 文档块(TextElement)| ✅ |
|
|
|
-| `document_entities` | 文档实体 | ✅ |
|
|
|
-| `graph_nodes` | 图节点 | ✅ |
|
|
|
+| `elements` | 要素表 | ✅ |
|
|
|
+| `annotations` | 批注表 | ✅ |
|
|
|
+| `graphs` | 关系网络表 | ✅ |
|
|
|
+| `parse_tasks` | 解析任务(多阶段进度)| ✅ |
|
|
|
+| `sessions` | 会话表 | ✅ |
|
|
|
+
|
|
|
+### 图谱模块
|
|
|
+| 表名 | 说明 | 状态 |
|
|
|
+|------|------|------|
|
|
|
+| `graph_nodes` | 图节点(NER实体)| ✅ |
|
|
|
| `graph_relations` | 图关系 | ✅ |
|
|
|
-| `text_chunks` | 文本分块 | ✅ |
|
|
|
-| `vector_embeddings` | 向量嵌入 | ✅ |
|
|
|
+
|
|
|
+### 补充模块
|
|
|
+| 表名 | 说明 | 状态 |
|
|
|
+|------|------|------|
|
|
|
+| `rules` | 规则表 | ✅ |
|
|
|
+| `data_sources` | 数据源表 | ✅ |
|
|
|
| `text_storage` | 文本存储 | ✅ |
|
|
|
-| `parse_tasks` | 解析任务 | ✅ |
|
|
|
-| `rules` | 规则表 | ✅(结构)|
|
|
|
-| `templates` | 模板表 | ✅(结构)|
|
|
|
-| `data_sources` | 数据源表 | ✅(结构)|
|
|
|
-| `extract_projects` | 提取项目表 | ✅ |
|
|
|
-| `extract_source_documents` | 来源文档表 | ✅ |
|
|
|
-| `extract_rules` | 提取规则表 | ✅ |
|
|
|
-| `extract_results` | 提取结果表 | ✅ |
|
|
|
-| `extract_rule_templates` | 规则模板表 | ✅ |
|
|
|
+
|
|
|
+### RAG 模块
|
|
|
+| 表名 | 说明 | 状态 |
|
|
|
+|------|------|------|
|
|
|
+| `text_chunks` | 文本分块 | ✅ |
|
|
|
+| `vector_embeddings` | 向量嵌入(pgvector)| ✅ |
|
|
|
+
|
|
|
+### 文档结构化模块
|
|
|
+| 表名 | 说明 | 状态 |
|
|
|
+|------|------|------|
|
|
|
+| `document_blocks` | 文档块(TextElement)| ✅ |
|
|
|
+| `document_entities` | 文档实体标注 | ✅ |
|
|
|
+| `document_elements` | 文档结构化元素 | ✅ |
|
|
|
+
|
|
|
+### 模板系统 v2.0(新增)
|
|
|
+| 表名 | 说明 | 状态 |
|
|
|
+|------|------|------|
|
|
|
+| `templates` | 报告模板 | ✅ |
|
|
|
+| `source_files` | 来源文件定义 | ✅ |
|
|
|
+| `variables` | 模板变量 | ✅ |
|
|
|
+| `generations` | 生成任务 | ✅ |
|