【项目实训】法律文书智能摘要系统7

【项目实训】法律文书智能摘要系统7 一、概述本期开发围绕法律文书智能摘要系统进行了两大核心升级一是新增知识图谱功能模块实现跨案件关联分析与可视化探索二是对长程记忆系统进行分层优化引入HNSW风格导航图使记忆检索具备可解释性。同时完成了前端风格统一、文书对比逻辑整合、登录状态优化等多项工程改进。系统整体稳定性、用户体验与可解释性均有显著提升。二、知识图谱功能模块2.1 功能定位与价值当文书数量达到几百份以上时单份文书的卡片模式难以呈现宏观规律。知识图谱页面支持缩放、过滤、搜索能够帮助用户发现跨案件的关联适用于法学实证研究场景。2.2 图数据结构构建了包含四类节点、五种关系边的知识图谱节点类型 案由节点橙色- 案件分类标识如“民间借贷纠纷” 案件节点蓝色- 每份文书对应一个节点 法院节点绿色- 审理法院 当事人节点黄色- 原告与被告关系边cause_rel案件属于某案由案件→案由judge_rel法院判决案件法院→案件party_rel当事人参与案件当事人→案件similar同案由案件相似案件↔案件cite案件引用关系案件→案件2.3 核心功能案由聚类自动将相似案例通过案由节点关联支持低/中/高三档聚类精度主体透视点击特定当事人如某保险公司可查看其涉及的所有诉讼及常见抗辩理由学术检索通过图谱搜索如“寻找所有涉及合同诈骗且证据不足被驳回的案件”多维度过滤支持按案由、法院、当事人等条件筛选关键词搜索与节点高亮联动搜索结果按类型显示不同颜色标签点击后主画布对应节点高亮红色边框阴影图谱自由缩放力导向布局参数优化提供“重置视图”按钮2.4 后端实现新增以下核心模块graph_builder.py- 图谱构建引擎clustering.py- 聚类算法完全重写基于案件类型分组cause_extractor.py- 多策略案由提取关键词匹配、文件名推断、行政案件处理、人名前缀清理entity_extractor.py- 实体搜索扩展knowledge_graph.py- API路由案由提取已改为后台自动化流程无需用户手动触发。2.5 前端实现新增页面与组件KnowledgeGraph.vue- 主页面GraphCanvas.vue- 图谱画布ECharts力导向图ClusterPanel.vue- 聚类面板EntityPanel.vue- 主体透视面板graph.ts- API客户端2.6 关键问题修复问题解决方案数据库字段映射错误no such column: meta_json改用LEFT JOIN extracted_fields及正确列名sqlite3.Row不支持.get()改为下标访问row[key] or default节点过度集中超出屏幕调整力导向参数repulsion 1500edgeLength [120,250]gravity 0.06容器溢出隐藏案由字段显示无意义文本新建cause_extractor.py多策略提取更新LLM提示词聚类算法依赖不存在的similar边重写算法基于案件类型分组支持三档精度前端组件typeLabel未定义添加映射函数合并script块搜索无引导、无加载反馈、无联动添加空状态引导、spinner动画后端搜索扩展至partycourtcause聚类按钮无响应、高亮无法清除添加错误提示与loading状态增加“清除筛选”UI✕按钮共修复13项关键问题。三、长程记忆系统分层优化A-Mem → 分层记忆图谱3.1 第一版存在的问题初期接入A-Mem后系统解决了“AI助手没有长期记忆”的问题能够从对话中抽取知识点并召回。但法律场景中的记忆不是平铺的——用户画像、当前案件事实、历史案件经验、通用法律规则、全局办案流程的作用完全不同。单一向量检索池容易将语义相似但层级不合适的内容混入回答。3.2 记忆分层设计引入memory_scope字段将记忆分为五类层级含义示例用户画像用户长期偏好和习惯“用户希望先给结论再列证据清单”全局记忆通用办案流程或系统级经验“先固定事实再补证据再匹配法条”跨案经验从多个案件中沉淀的模式“押金扣减案件中交接照片权重高”通用法律法条、规则、一般法律依据“消费者可就质量问题主张退换修”历史案件具体案件事实和证据“某次电脑花屏纠纷缺少检测报告”检索时不再只做向量相似度匹配而是判断需要哪些记忆层 → 按层检索候选 → 结合语义相似度、关键词重叠、importance、confidence加权 → 合并去重后注入上下文。3.3 HNSW风格导航图为了让记忆检索过程可解释引入了HNSWHierarchical Navigable Small World风格的导航图。设计目标当用户点击一个具体记忆节点时前端能展示“入口点 → 高层索引 → 中间跳转 → L0具体记忆”的完整路径。实现要点为每条note通过SHA1哈希确定性分配hnsw_level高层节点少、底层节点多每层只连接该层可见节点的近邻并限制度数M4搜索时从最高层入口点开始高层greedy下降L0层做beam search扩展后端提供真实检索路径/nav-path/{note_id}前端高亮显示而非前端编造路径说明当前实现是面向可视化和解释的工程化方案并非完整替代ChromaDB的工业级HNSW索引主要服务于小规模记忆图的解释和调试几十到几百条note。3.4 真实数据抽取链路为避免前端展示手写demo造成的虚假感建立了完整的真实生成和抽取链路让大模型生成同一用户、多事件的法律咨询剧本电脑花屏、租房押金、课程退款等每一轮对话走真实的extract_and_store_knowledge每条note写入SQLite过程文件保存至backend/data/mmem_showcase_runs/前端看到的月度记忆图是系统实际抽取、入库、构图后的结果。3.5 新增API接口GET /nav-graph- 返回完整HNSW图nodes, edges, layers, paramsGET /nav-path/{note_id}- 对指定note执行真实trace返回路径高亮数据POST /search- 支持strategylayered_nav融合HNSW路由与向量检索四、前端风格统一与深色模式修复4.1 设计令牌体系创建variables.css定义180余项CSS自定义属性覆盖色彩体系主题色、成功色、警告色、危险色、文字色、背景色字体层级超小号至5倍大号全套字号间距规范0至24级统一间距圆角、阴影、层级索引、贝塞尔曲线缓动4.2 全域样式替换在20余个组件及页面中将硬编码十六进制色值批量替换为CSS变量。已优化的组件包括图谱画布、聚类面板、实体视角面板、AI悬浮工具栏、聊天弹窗、结果展示卡片、法律术语悬浮提示、批量总结弹窗、字段提取展示、对话历史面板、关键词统计云图等。已优化的页面包括知识图谱页面、文档阅读页面、AI智能助手页面。4.3 深色模式修复根因theme.ts使用classList.add(dark)而variables.css使用[data-themedark]属性选择器两者不匹配导致深色模式CSS变量从未生效。修复修改setTheme()使用setAttribute(data-theme, dark)在index.html添加内联脚本页面加载时立即应用本地存储的主题移除App.vue中多余的darkclass绑定五、文书对比逻辑整合5.1 原有问题系统存在两套独立的文书对比功能对比维度基础文书对比AI智能文书对比对比形式结构化字段层级比对AI语义深度解析支持文档数仅2份2-5份AI介入无大语言模型操作入口/compare页面法智助手页面标签页两套系统整合性差字段对比需单独跳转AI对比需切换标签页无互通入口文档选择样式不统一视觉风格杂乱。5.2 优化方案精简路由下线独立的/compare路由将所有文书对比功能统一归集至“法智助手”核心页面组件复用两套对比模式共用同一套文档选择组件数据联动字段比对结果可同步展示在AI智能分析报告旁视觉统一全线采用新版深蓝色系设计规范六、登录状态与用户体系优化6.1 登录状态存储改进将token存储从localStorage永久保存改为sessionStorage关闭浏览器自动清除提升安全性。javascript// 登录成功 sessionStorage.setItem(token, res.data.token) // 路由守卫 const token sessionStorage.getItem(token)6.2 退出登录与注册优化退出登录sessionStorage.clear()并跳转至登录页注册功能注册成功后自动调用登录接口保存token并跳转首页同时增加错误提示6.3 全局个人悬浮球在App.vue中增加右下角悬浮球组件点击展开个人面板包含退出登录功能。样式采用固定定位、圆角头像、阴影效果。七、当前局限与后续计划7.1 已知局限知识图谱当前基于关系型数据库构建规模较大时需迁移至原生图数据库如Neo4jHNSW图为可视化和解释层不是工业级ANN索引替代记忆抽取仍依赖LLM可能存在漏抽或误抽分层规则还需更多真实法律任务验证图谱当前适合几十到几百条note更大规模需分页、聚类或按需加载7.2 后续计划引入时间轴动态图谱展示案件引用关系的时序演化进一步细粒度同步文书对比的数据联动探索更大规模记忆图的增量更新与按需加载策略完善法律领域特定实体的识别与链接八、总结本期开发完成了知识图谱从0到1的落地实现了跨案件关联分析与可视化探索长程记忆系统从“能存能搜”走向“有层级、有路径、可解释”前端建立了统一的设计令牌体系支持深浅主题无缝切换文书对比功能整合后减少了用户学习成本登录状态优化提升了安全性。系统整体更加稳定、易用、可解释为后续法学实证研究和规模化应用奠定了坚实基础。