进度报告.md 35 KB

📊 灵越智报 2.0 - 当前进度总结

整体进度:92% | 报告日期:2026-01-25


✅ 已完成(92%)

基础设施

  • Spring Boot 3.1.5 单体应用架构(lingyue-starter)
  • 数据库(PostgreSQL + pgvector)、缓存(Redis)、消息队列(RabbitMQ)配置完成
  • 6大服务模块框架搭建完成
  • 数据库重建脚本 → ✅ 完整的 rebuild_all.sh 脚本
  • Systemd 服务配置 → ✅ 服务器部署脚本 scripts/systemd/

核心模块现状

模块 功能 状态 说明
认证服务 注册/登录/Token JWT 认证,密码修改
文档管理 上传/列表/删除 级联删除,批量操作
文档解析 OCR/文本提取 Word/PDF/图片
结构化解析 段落/图片/表格 保留样式和顺序
RAG 向量化 分块/嵌入/检索 pgvector + Ollama
NER 实体识别 实体/关系提取 DeepSeek API
图数据库 节点/关系存储 PostgreSQL + Neo4j
数据源管理 CRUD/取值/聚合 支持多种值类型
任务中心 多阶段进度跟踪 6阶段流水线
模板系统 数据模型 v2.0 重构完成
模板系统 Service/Controller 完整 CRUD + 状态管理
报告生成 变量提取/文档生成 基础流程实现完成
规则系统 规则智能体 ⚠️ 数据模型已有,逻辑未实现
前端界面 Vue Demo 测试用 demo 完成
前端界面 正式 UI 基于 Vue Demo 扩展

模块完成度

认证服务      ████████████████████ 100%
文档管理      ████████████████████ 100%
文档解析      ████████████████████ 100%
RAG服务       ████████████████████ 100%
NER服务       ████████████████████ 100%
图数据库      ████████████████████ 100%
数据源管理    ████████████████████ 100%
任务中心      ████████████████████ 100%
模板系统      ████████████████████ 100% (完整实现)
报告生成      ████████████████░░░░  80% (基础流程)
规则系统      ████░░░░░░░░░░░░░░░░  20% (仅数据模型)
前端界面      ████████░░░░░░░░░░░░  40% (Vue Demo)

新增功能(2026-01-25)✅ 前端 Vue Demo + 服务部署

  • Vue 3 前端 Demofrontend/vue-demo/

    • 技术栈:Vue 3 + Vite + Element Plus + Pinia
    • 登录/注册页面(对接后端认证 API)
    • 首页(统计数据从 API 获取)
    • 模板管理页面
    • 模板编辑器(变量标记、分类管理)
    • 生成任务管理
    • 路由守卫(登录验证)
  • Systemd 服务配置scripts/systemd/

    • lingyue-starter.service (端口 18520)
    • lingyue-extract.service (端口 18521)
    • lingyue-ner.service (端口 18522)
    • 一键安装脚本 install-services.sh
  • 首页统计 API

    • GET /api/v1/templates/stats - 获取统计数据
    • 返回:reportCount, templateCount, variableCount, sourceFileCount
  • 安全配置更新

    • SecurityConfig 添加模板系统 API 路径许可

新增功能(2026-01-24)✅ 模板系统完整实现 + 原型适配

  • Service 层(6个服务)

    • TemplateService - 模板 CRUD、发布、归档、复制
    • SourceFileService - 来源文件定义管理、重排序
    • VariableService - 变量管理、重排序、预览提取、按类别分组查询
    • GenerationService - 生成任务管理、执行、进度
    • ExtractionService - 变量提取核心逻辑
    • DocumentGenerationService - 文档生成、文件下载
  • Controller 层(2个控制器)

    • TemplateController - 模板/来源文件/变量统一管理、变量分组API
    • GenerationController - 生成任务 CRUD 和执行
  • DTO(12个)

    • 请求:CreateTemplateRequest, UpdateTemplateRequest, AddSourceFileRequest, AddVariableRequest, CreateGenerationRequest, UpdateVariableValueRequest, ReorderRequest
    • 响应:TemplateDetailResponse, TemplateListResponse, SourceFileResponse, VariableResponse, GenerationResponse, GenerationProgressResponse, VariablePreviewResponse
  • 工具类

    • SecurityUtils - 从 JWT 获取当前用户ID
  • 原型适配 - Variable.category 字段(新增)

    • 变量类别用于前端显示分类(与 灵越智报_完整交互版.html 原型对齐)
    • 类别定义:
    • entity - 核心实体(蓝色):智慧园区、公司名等
    • concept - 概念/技术(紫色):产业升级、智能化管理等
    • data - 数据/指标(绿色):金额、面积、增长率等
    • location - 地点/组织(橙色):华南地区、华南事业部等
    • asset - 资源模板(粉色):图表、结论模板等
    • 新增 API:GET /api/v1/templates/{templateId}/variables/grouped - 按类别分组返回变量
    • 数据库迁移:V2026_01_24_01__add_variable_category.sql

新增功能(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张核心表) → 已重构为模板系统 v2.0
    • 集成配置:父 pom.xml、lingyue-starter 依赖
  • 第二阶段:核心实体与 Repository 层(已重构为 v2.0)

    • 实体类(5个):Project, SourceDocument, ExtractRule...
    • → 新实体:Template, SourceFile, Variable, Generation

新增功能(2026-01-22 下午)✅ 补充缺失接口

  • 认证服务接口完善

    • PUT /auth/profile - 用户信息修改(用户名、邮箱、头像)
    • PUT /auth/password - 密码修改(验证旧密码、新密码确认)
  • 文档管理接口完善

    • PUT /api/v1/documents/{id} - 文档更新(名称、状态、元数据)
    • DELETE /api/v1/documents/{id} - 级联删除增强
    • 删除向量嵌入、文本分块、图关系、图节点
    • 删除结构化元素、解析任务、文档记录
    • 删除文本文件和图片目录
    • POST /api/v1/documents/batch-delete - 批量删除(返回成功/失败列表)

新增功能(2026-01-22 上午)✅ 一键上传全自动处理 + 数据源管理

  • 一键上传全自动处理流程

    • 上传接口:POST /api/v1/parse/upload(唯一入口)
    • 自动触发:RAG向量化 → 结构化解析 → NER实体提取 → 图数据库存储
    • 手动重处理 API 保留,支持单独重新生成
  • 数据源管理系统

    • 支持绑定 GraphNodeDocumentElement 两种类型
    • 支持多种值类型:text/image/table/mixed
    • 支持多种聚合方式:first/last/concat/sum/avg/list
    • 完整 CRUD + 取值 + 批量取值 API
  • 任务中心进度跟踪

    • 6阶段进度:upload → parse → rag → structured → ner → graph
    • 阶段权重:parse(15%) + rag(10%) + structured(15%) + ner(50%) + graph(10%)
    • 实时进度查询 API + 结果摘要展示
  • 端到端测试脚本完善

    • test_upload_api.sh 支持完整流程测试
    • 自动轮询等待 NER 完成(基于 GraphNode 数量稳定检测)
    • 支持任务中心查询、数据源操作等

新增功能(2026-01-21)✅ 文档结构化解析完成

  • Word 文档结构化提取
    • 完整提取段落、标题、图片、表格等元素
    • 保留元素在文档中的原始顺序和位置
    • 图片自动提取并保存到独立目录
    • 支持图片尺寸、格式、描述信息提取
  • DocumentElement 实体存储
    • 新增 document_elements 表存储结构化内容
    • 支持 JSONB 字段存储样式和表格数据
    • 自定义 PostgreSqlJsonbTypeHandler 处理 JSONB 类型
  • 结构化解析 API
    • GET /parse/structured/{documentId} - 触发结构化解析
    • GET /parse/elements/{documentId} - 获取所有元素
    • GET /parse/elements/{documentId}/images - 获取图片列表
    • GET /parse/elements/{documentId}/tables - 获取表格列表
  • 数据库脚本完善
    • 完整的数据库重建脚本 rebuild_all.sh
    • 修复 UUID/VARCHAR 类型不兼容问题
    • 统一表结构字段命名规范

新增功能(2026-01-20)✅ NER Demo 测试完成

  • DeepSeek API 集成
    • 接入阿里云百炼平台 DeepSeek V3.2 实验版
    • 支持长文本分块处理(每块 2000 字符)
    • 完整的错误处理和重试机制
  • 异步任务轮询模式
    • Python 端:/ner/extract/async 提交异步任务
    • Python 端:/ner/task/{task_id} 查询任务状态和进度
    • Java 端:轮询模式(每 3 秒)查询进度,实时日志反馈
    • 最大等待时间 10 分钟,失败自动回退到同步 API
  • 图数据库存储验证
    • 实体成功存储到 graph_nodes 表(测试文档:188 个实体)
    • 关系成功存储到 graph_relations 表(测试文档:82 个关系)
    • 支持按文档 ID 导出 CSV/JSON 数据
  • Pydantic 序列化修复
    • 修复 Python 模型 alias 序列化问题(snake_case → camelCase)
    • 确保 Java 端正确解析关系数据中的 fromEntityIdtoEntityId

新增功能(2026-01-19)

  • NER 服务完整实现
    • Python FastAPI NER 服务(规则模式,支持扩展 spaCy/Transformers/API)
    • Java NER 客户端(PythonNerClient)
    • NER DTO 类(NerRequest, NerResponse, EntityInfo, RelationInfo 等)
    • NER API 接口(/api/ner/extract, /api/ner/document/{id})
  • 关系抽取服务
    • 基于规则的关系抽取(位置邻近性、语义模式匹配)
    • 关系抽取 API(/api/ner/relations)
  • 图数据库服务扩展
    • GraphNodeService(节点/关系 CRUD、批量操作)
    • 图数据库 API(/api/graph/nodes, /api/graph/relations)
    • 文档节点统计接口
  • 解析流程集成
    • 文档解析完成事件(DocumentParsedEvent)
    • NER 自动触发监听器
    • 解析 → RAG → NER → 图数据库完整链路
    • NER 服务配置项(ner.python-service.url 等)

已完成功能(2026-01-17)

  • 单体应用架构重构 - 统一到 lingyue-starter 模块
  • 配置文件统一 - 全部使用 .properties 格式
  • 接口测试完成 - 核心接口验证通过

已完成功能(2026-01-16)

  • ✅ pgvector 向量数据库集成
  • ✅ 文本分块服务(智能句子边界切分)
  • ✅ Ollama Embedding 向量化服务
  • ✅ RAG 核心服务(索引、检索、问答)

🎯 第一阶段完成情况

根据设计文档 6.2 第一阶段:核心数据流程(2月10日前)

Week 1-2 任务完成率:95%

任务 状态 说明
文件上传接口 支持 PDF、Word、图片
文件类型识别 MIME 类型检测
OCR 集成(飞浆OCR) Python 服务调用
文本提取(Word文档) Apache POI
Word 结构化提取 段落、图片、表格、样式
TXT 文件存储 SSD 硬盘存储
图片资源提取存储 自动提取并保存到独立目录
解析任务管理 异步处理、状态跟踪
NER 服务集成 DeepSeek API 集成
实体提取接口 完整实体列表输出
关系分析接口 规则模式关系抽取
实体存储到图节点表 PostgreSQL 存储验证
图节点 CRUD 接口 完整 CRUD
图关系 CRUD 接口 完整 CRUD
图查询接口 按文档、按用户查询
Neo4j 集成 本地部署,双写同步

Week 3-4 任务完成情况:

任务 状态 说明
数据源创建接口 POST /api/v1/datasource
数据源绑定节点 PUT /api/v1/datasource/{id}/refs
数据源查询接口 按ID/文档/用户/类型查询
数据源取值接口 GET /api/v1/datasource/{id}/value
批量取值接口 POST /api/v1/datasource/batch-value
任务中心进度跟踪 6阶段进度 + 结果摘要
端到端流程测试 完整测试脚本
模板创建接口 下一步重点
占位符绑定数据源 下一步重点
模板渲染接口 下一步重点

📋 下一步计划:模板系统 v2.0(Week 4-5)

计划周期:2026-01-23 ~ 2026-01-31

目标:完成「示例文档驱动」的模板生成系统

1. 数据模型重构 ✅ 已完成

  • 数据库表重构(templates, source_files, variables, generations)
  • 实体类创建(Template, SourceFile, Variable, Generation)
  • Repository 接口(4个)
  • all_tables.sql 完整表结构
  • rebuild_all.sh --simple 模式

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 添加变量

3. 报告生成

核心用户流程:

  1. 选择模板
  2. 上传新的来源文件(按模板定义的别名)
  3. 系统自动提取变量值
  4. 用户确认/修改提取结果
  5. 生成新报告

待实现 API:

接口 方法 说明 状态
/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(保留)

接口 方法 说明 状态
/api/v1/datasource POST 创建数据源
/api/v1/datasource/{id} GET 获取数据源
/api/v1/datasource/{id}/value GET 获取数据源值
/api/v1/datasource/batch-value POST 批量获取值

⚠️ 关键缺失(对照技术预研表)

预研项 进度 已完成 ✅ 待实现 ❌
1️⃣ 规则"智能体"设计 45% Graph Service 架构
规则、模板数据模型
RAG 问答服务
NER 实体提取
Neo4j 图数据库
规则 DSL 定义与解析
规则执行引擎
多层计算算法
2️⃣ 产品定位与功能逻辑 55% 6大后端服务框架
前端 Vue Demo
基础组件
结构化文档展示
Vue 正式 UI 完善
智能体集群架构
规则校验功能
3️⃣ 规则智能体模拟 50% TextStorage(文本存储)
GraphNode、GraphRelation
向量相似度检索
NER + 关系构建
文档结构化存储
规则逻辑树算法
单规则校验引擎
知识图谱构建算法
4️⃣ AI模态体型/OCR 70% PaddleOCR Client
PDF/Word/Excel 提取
DeepSeek API
Ollama Embedding
Word 结构化提取
AI多模态模型接入
NSDK集成
OCR后处理优化
5️⃣ 前端交互设计 40% 前端 Vue Demo
登录/注册页面
模板管理页面
文档编辑预览
实体高亮展示
Vue 正式 UI 完善
知识图谱可视化

🔴 规则系统模块 - 详细欠缺分析

根据设计文档 a_docs/灵越智报2.0程序设计详解.md 中的规则系统设计,以下是当前实现与设计目标的对比:

已有基础设施

组件 状态 说明
rules 数据库表结构已定义
Rule 实体类 graph-service 中有基础实体
ExtractRule 实体类 extract-service 中有提取规则实体
RuleRepository 仅有 Mapper 接口
RuleTemplate 实体类 规则模板实体
图节点/关系存储 graph_nodes + graph_relations
Neo4j 集成 双写同步

❌ 核心欠缺功能

1. 规则 Service 层(完全缺失)

需要实现:
- RuleService.java          # 规则 CRUD + 执行调度
- RuleExecutionService.java # 规则链执行引擎
- RuleValidationService.java # 规则校验逻辑

设计要求

  • 规则本质是 n 个节点之间的关系链(类似单链表)
  • 唯一入口,唯一出口,有方向性
  • 支持条件分支(拆分为多条规则)

2. 规则 Controller 层(完全缺失)

需要实现的 API:
POST   /api/v1/rules                    # 创建规则
GET    /api/v1/rules/{id}               # 获取规则详情
GET    /api/v1/rules                    # 规则列表
PUT    /api/v1/rules/{id}               # 更新规则
DELETE /api/v1/rules/{id}               # 删除规则
POST   /api/v1/rules/{id}/validate      # 校验规则
POST   /api/v1/rules/{id}/execute       # 执行规则
GET    /api/v1/rules/{id}/trace         # 获取执行轨迹

3. 规则执行引擎(完全缺失)

设计要求(来自设计文档 2.5 章节):

关系类型 说明 实现状态
依赖关系(DEP) 数据获取依赖,不涉及计算
计算关系 加减乘除、取并集、取交集
AI能力调用 调用AI进行文本生成、总结

核心类设计

// 规则执行器接口
interface RuleExecutor {
    Object execute(RuleContext context);
}

// 规则动作类型(设计文档提到约 20-200 类)
enum RuleActionType {
    DEP_FETCH,      // 依赖获取
    CALC_ADD,       // 加法
    CALC_SUB,       // 减法
    CALC_MUL,       // 乘法
    CALC_DIV,       // 除法
    CALC_UNION,     // 取并集
    CALC_INTERSECT, // 取交集
    AI_GENERATE,    // AI 生成
    AI_SUMMARIZE,   // AI 总结
    AI_EXTRACT,     // AI 提取
    // ...
}

4. 规则 DSL 定义与解析(完全缺失)

设计要求

  • 规则用 DSL(领域特定语言)描述
  • 支持 AI 对话生成规则
  • 输出固定格式的规则描述

    示例 DSL 格式(待设计):
    RULE "计算总价"
    INPUT @产品单价, @产品数量
    ACTION CALC_MUL(@产品单价, @产品数量)
    OUTPUT @总价
    END
    

5. 规则智能体(完全缺失)

设计要求(来自设计文档 2.5.5 章节):

能力 说明 实现状态
规则逻辑校验 验证规则链完整性、检查循环依赖
规则关联分析 分析规则之间的依赖关系
要素查询 根据规则查询相关节点
上下文生成 将图关系转换为 AI 可理解的格式

6. AI 记忆库构建(完全缺失)

设计要求

  • 输入+输出模式记录
  • 规则逻辑上下文保存
  • 自动发现规则关联

📋 规则系统实现优先级

优先级 功能 预计工作量
P0 RuleService CRUD 2天
P0 RuleController API 1天
P1 规则执行引擎(基础动作) 3天
P1 规则校验(入口→出口路径) 2天
P2 规则 DSL 解析器 3天
P2 AI 对话生成规则 2天
P3 规则智能体上下文构建 3天
P3 AI 记忆库 2天

总计:约 18 人天

与模板系统的关系

当前模板系统(v2.0)采用的是「示例文档驱动」的设计:

  • 用户上传示例报告 → 标记变量 → 配置提取规则 → 生成新报告

规则系统与模板系统的区别:

  • 模板系统:侧重于「变量提取」和「文档生成」,规则相对简单
  • 规则系统:侧重于「复杂计算链」和「多节点关联」,支持 AI 调用

两者可以协同工作:

  • 模板变量的 extract_type 可以调用规则系统
  • 规则系统的输出可以作为模板变量的数据来源

📁 项目结构

backend/
├── common/                 # 公共模块
│   └── mybatis/            # PostgreSqlJsonbTypeHandler
├── auth-service/           # 认证服务
├── document-service/       # 文档管理服务
│   └── entity/             # Document, DocumentElement, DocumentBlock
├── parse-service/          # 解析服务
│   └── service/            # WordStructuredExtractionService
├── 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      # 完整重建脚本(支持 --simple)
    ├── all_tables.sql      # 完整表结构(21张表)
    ├── template_tables.sql # 模板系统表(v2.0)
    ├── init.sql            # 基础表
    ├── graph_tables.sql    # 图谱表
    ├── supplement_tables.sql # 补充表
    └── rag_tables_compatible.sql # RAG 表

python-services/
└── ner-service/            # NER Python 服务
    ├── app/
    │   ├── models/         # 数据模型
    │   ├── routers/        # API 路由
    │   └── services/       # 业务服务
    │       ├── ner_service.py      # NER 调度
    │       ├── deepseek_service.py # DeepSeek API
    │       └── relation_service.py # 关系抽取
    └── requirements.txt

frontend/
├── 灵越智报_完整交互版.html  # 前端交互原型(HTML 版)
└── vue-demo/                 # Vue 3 前端 Demo(可作为正式前端参考)
    ├── src/
    │   ├── api/              # API 封装(axios)
    │   │   └── index.js      # templateApi, authApi, generationApi 等
    │   ├── assets/
    │   │   └── main.scss     # 全局样式(变量高亮颜色等)
    │   ├── router/
    │   │   └── index.js      # 路由配置 + 登录守卫
    │   ├── stores/
    │   │   └── template.js   # Pinia 状态管理
    │   └── views/
    │       ├── Login.vue           # 登录页
    │       ├── Register.vue        # 注册页
    │       ├── Home.vue            # 首页(统计卡片)
    │       ├── Templates.vue       # 模板列表
    │       ├── TemplateDetail.vue  # 模板详情
    │       ├── Editor.vue          # 模板编辑器(变量标记)
    │       ├── Generations.vue     # 生成任务列表
    │       └── GenerationDetail.vue # 生成任务详情
    ├── vite.config.js        # Vite 配置(API 代理)
    └── package.json          # 依赖配置

database/
└── migrations/             # 数据库迁移脚本
    └── V2026_01_21_02__add_document_elements.sql

🔧 技术栈确认

组件 技术选型 状态
后端框架 Spring Boot 3.1.5
数据库 PostgreSQL + pgvector
缓存 Redis
消息队列 RabbitMQ
NER 模型 DeepSeek API(内测)
Embedding Ollama nomic-embed-text
OCR PaddleOCR
图数据库 PostgreSQL + Neo4j 4.4
文档解析 Apache POI(Word 结构化)
前端原型 HTML 交互原型
前端 Demo Vue 3 + Element Plus
前端框架 Vue 3 + Element Plus

🖥️ 前端开发参考(Vue Demo)

前端使用 Vue 3frontend/vue-demo/ 为基础框架,可直接扩展为正式版本:

技术栈

  • Vue 3 + Composition API
  • Vite 构建工具
  • Element Plus UI 组件库
  • Pinia 状态管理
  • Vue Router 路由(含登录守卫)
  • Axios HTTP 客户端
  • Sass 样式预处理

已实现功能

页面 功能 文件
登录页 用户名/邮箱+密码登录、记住我 Login.vue
注册页 用户名/邮箱/密码注册、表单验证 Register.vue
首页 统计卡片(从API获取)、推荐模板 Home.vue
模板列表 搜索筛选、创建/编辑/删除模板 Templates.vue
模板详情 模板信息、变量列表、来源文件 TemplateDetail.vue
编辑器 变量标记、分类管理、右键菜单 Editor.vue
生成任务列表 任务状态、执行/确认/下载 Generations.vue
生成任务详情 变量提取结果、编辑确认 GenerationDetail.vue

API 封装

// 模板 API
templateApi.list(page, size)
templateApi.getById(id)
templateApi.create(data)
templateApi.update(id, data)
templateApi.delete(id)
templateApi.publish(id)
templateApi.getStats()

// 认证 API
authApi.login({ usernameOrEmail, password })
authApi.register({ username, email, password, confirmPassword })
authApi.logout()
authApi.getCurrentUser()

// 变量 API
variableApi.list(templateId)
variableApi.listGrouped(templateId)
variableApi.add(templateId, data)

// 生成任务 API
generationApi.list()
generationApi.create(data)
generationApi.execute(id)
generationApi.confirm(id)

启动方式

cd frontend/vue-demo
yarn install
yarn dev

# 连接远程服务器
API_SERVER=http://47.101.133.94:18520 yarn dev

变量类别配色(与后端 Variable.category 对应)

.entity   { background: rgba(24, 144, 255, 0.15); }  // 蓝色 - 核心实体
.concept  { background: rgba(114, 46, 209, 0.15); }  // 紫色 - 概念/技术
.data     { background: rgba(82, 196, 26, 0.15); }   // 绿色 - 数据/指标
.location { background: rgba(250, 173, 20, 0.15); }  // 橙色 - 地点/组织
.asset    { background: rgba(235, 47, 150, 0.15); }  // 粉色 - 资源模板

📅 里程碑

  • M1(2月10日):第一阶段完成,核心流程跑通
    • ✅ 文件上传解析
    • ✅ RAG 向量检索
    • ✅ NER 实体提取
    • ✅ 文档结构化解析(图片、表格)
    • ✅ Neo4j 图数据库集成
    • 数据源管理(已完成)
    • 一键上传全自动处理(已完成)
    • 任务中心进度跟踪(已完成)
    • ⏳ 模板基础(下一步)

📋 API 接口清单

认证服务(auth-service)

接口 方法 说明 状态
/auth/register POST 用户注册
/auth/login POST 用户登录
/auth/logout POST 用户登出
/auth/refresh POST 刷新Token
/auth/me GET 获取当前用户
/auth/profile PUT 更新用户资料
/auth/password PUT 修改密码

文档管理服务(document-service)

接口 方法 说明 状态
/api/v1/documents GET 文档列表(分页)
/api/v1/documents/{id} GET 文档详情
/api/v1/documents/{id} PUT 更新文档
/api/v1/documents/{id} DELETE 级联删除
/api/v1/documents/batch-delete POST 批量删除
/api/v1/documents/{id}/text GET 获取文档文本
/api/v1/documents/{id}/parse-status GET 解析状态
/api/v1/documents/{id}/elements GET 结构化元素
/api/v1/documents/{id}/images GET 图片列表
/api/v1/documents/{id}/tables GET 表格列表

文件上传(唯一入口)

接口 方法 说明 状态
/api/v1/parse/upload POST 一键上传,自动触发全流程

文档解析服务(parse-service)

接口 方法 说明 状态
/parse/structured/{documentId} GET 手动触发结构化解析
/parse/elements/{documentId} GET 获取所有结构化元素
/parse/elements/{documentId}/images GET 获取图片列表
/parse/elements/{documentId}/tables GET 获取表格列表
/api/v1/files/images/{docId}/{filename} GET 获取图片资源

任务中心(parse-service)

接口 方法 说明 状态
/api/v1/tasks/list GET 获取任务列表
/api/v1/tasks/{taskId}/detail GET 获取任务详情
/api/v1/tasks/by-document/{documentId} GET 按文档ID查询任务
/api/v1/tasks/statistics GET 获取任务统计

NER 服务(ner-service)

接口 方法 说明 状态
/api/ner/extract POST 文本实体抽取
/api/ner/document/{id} POST 手动触发文档实体抽取
/api/ner/relations POST 关系抽取

图谱服务(graph-service)

接口 方法 说明 状态
/api/graph/nodes POST 创建节点
/api/graph/nodes/{nodeId} GET/PUT/DELETE 节点 CRUD
/api/graph/documents/{documentId}/nodes GET 按文档查询节点
/api/graph/relations POST 创建关系

数据源服务(graph-service)

接口 方法 说明 状态
/api/v1/datasource POST 创建数据源
/api/v1/datasource/{id} GET 获取数据源
/api/v1/datasource/document/{documentId} GET 按文档查询
/api/v1/datasource/{id}/refs PUT 更新绑定节点
/api/v1/datasource/{id}/value GET 获取数据源值
/api/v1/datasource/batch-value POST 批量获取值

模板系统(extract-service)

接口 方法 说明 状态
/api/v1/templates POST 创建模板
/api/v1/templates/{id} GET 获取模板详情
/api/v1/templates GET 模板列表
/api/v1/templates/{id} PUT 更新模板
/api/v1/templates/{id} DELETE 删除模板
/api/v1/templates/{id}/publish POST 发布模板
/api/v1/templates/{id}/archive POST 归档模板
/api/v1/templates/{id}/duplicate POST 复制模板
/api/v1/templates/{id}/source-files POST 添加来源文件定义
/api/v1/templates/{id}/source-files GET 获取来源文件列表
/api/v1/templates/{id}/variables POST 添加变量
/api/v1/templates/{id}/variables GET 获取变量列表
/api/v1/templates/{id}/variables/grouped GET 变量按类别分组
/api/v1/templates/variables/{id}/preview POST 预览提取结果

生成任务(extract-service)

接口 方法 说明 状态
/api/v1/generations POST 创建生成任务
/api/v1/generations/{id} GET 获取任务详情
/api/v1/generations GET 获取任务列表
/api/v1/generations/{id}/execute POST 执行变量提取
/api/v1/generations/{id}/progress GET 获取执行进度
/api/v1/generations/{id}/variables/{varName} PUT 修改变量值
/api/v1/generations/{id}/confirm POST 确认并生成文档
/api/v1/generations/{id}/download GET 下载生成文档

🗄️ 数据库表清单(21张)

基础模块

表名 说明 状态
users 用户表
documents 文档表
elements 要素表
annotations 批注表
graphs 关系网络表
parse_tasks 解析任务(多阶段进度)
sessions 会话表

图谱模块

表名 说明 状态
graph_nodes 图节点(NER实体)
graph_relations 图关系

补充模块

表名 说明 状态
rules 规则表
data_sources 数据源表
text_storage 文本存储

RAG 模块

表名 说明 状态
text_chunks 文本分块
vector_embeddings 向量嵌入(pgvector)

文档结构化模块

表名 说明 状态
document_blocks 文档块(TextElement)
document_entities 文档实体标注
document_elements 文档结构化元素

模板系统 v2.0(新增)

表名 说明 状态
templates 报告模板
source_files 来源文件定义
variables 模板变量
generations 生成任务