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

张开发
2026/4/17 6:28:46 15 分钟阅读

分享文章

【项目实训】法律文书智能摘要系统3
在法律AI应用场景中大模型生成的摘要存在致命的幻觉问题。当系统输出如“法院认定合同有效”等关键结论时若缺乏精确的原文引证将直接导致三大痛点信任危机毫无根据的摘要缺乏法律应用价值律师与法官不敢轻易采信。效率低下用户仍需在动辄数十页的判决书原文中手动搜索对应段落失去了AI辅助的意义。责任风险错误引用或虚假捏造可能导致严重的法律后果且无法追责。基于此本团队开展了本期系统的研发与迭代核心目标是构建一套具备“精确溯源*能力的法律辅助阅读系统并全面升级底层存储架构与前端交互体验。一、 项目概述与技术栈本系统旨在解决法律AI应用中的“幻觉”痛点通过混合溯源、智能文本勘误及多维度阅读交互提供高可信度的法律文档摘要与分析服务。核心架构Python 3.11 FastAPI (后端) Vue 3 (前端)核心AI技术LLM (GPT-4/GPT-3.5-turbo) OpenAI Embedding (text-embedding-3-small)数据存储SQLite (关系型/批注/示例) ChromaDB (向量) JSON (历史记录)二、 核心算法与模型优化1. 基于混合语义的双通道溯源引擎为解决大模型摘要的“幻觉”问题并实现精准溯源系统实现了无需GPU的纯API双通道融合方案文档分块将长文档拆分为带索引的文本块Block控制LLM上下文窗口。通道一LLM标注通过Prompt工程要求LLM在生成关键要素时附加来源块编号如[来源: X, Y]。通道二语义相似度兜底将摘要要点与所有文档块进行Embedding向量化。计算余弦相似度设定阈值为0.45取Top-K作为补充来源解决LLM漏标或错标问题。融合策略以语义匹配为基础用LLM标注进行高置信度覆盖去重后限制单一要点最多5个来源前端区分标记“语义溯源”与“混合溯源”。2. 规则抽取升级与OCR文本勘误针对PDF解析及扫描件识别的脏数据问题进行了专项治理正则抽取容错优化案号等关键信息的正则表达式引入\s*处理PDF强制换行或字间插入空格的问题如成功匹配( 2024 ) 鲁 0102...。LLM智能勘误利用GPT-3.5-turbo对OCR识别结果进行分批次Batch10语义勘误。通过严格的Prompt约束模型仅修复错别字和标点如“争焦点”修正为“争议焦点”杜绝模型发散或插入多余解释。三、 后端架构与数据持久化1. 存储层重构废弃了早期依赖浏览器LocalStorage的方案实现了全流程的后端持久化与RESTful API对接历史记录存入后端的history.json保留最新50条增加毫秒级时间戳。批注数据迁移至SQLite数据库annotations表按文档ID隔离支持多用户并发与增删改查。为解决时间戳显示异常统一在存储时转为UTC时间timezone.utc交由前端解析为本地时区。模型校验在schemas.py引入Pydantic Validator强类型校验修正了因时间戳字段非必填导致的422 Unprocessable Entity拦截错误。2. 文件去重与生命周期同步MD5秒传机制在文件上传接口加装MD5哈希校验。若底层已存在该文件直接拦截全套大模型解析流程实现“秒传”并跳转。级联删除同步在vector_store实现delete_chunks功能。当用户删除原文档时系统会同步清理 ChromaDB 中的向量数据、历史记录 JSON 以及 SQLite 中的绑定批注。3. 自定义示例库管理数据库扩展SQLite新增custom_samples表通过doc_id与原文档保持生命周期绑定。若原文档删除示例同步失效。零延迟加载针对已存在的文档转化为“示例”系统不再走二次上传与解析流程。前端直接通过固定ID和路由跳转缓存加载使示例切换耗时降至0秒。四、 前端视图与交互体验1. 双栏交互式阅读空间布局重构ReaderView.vue实现左侧原文内容、右侧批注与分析面板的独立分栏。划线批注监听mouseup与window.getSelection()事件用户在左栏选中文字后右侧自动弹出带当前文本的批注表单支持颜色分类与实时保存。2. 溯源高亮与平滑滚动点击即溯源在摘要面板点击任意带溯源标签的要点系统自动切换至“原文块”标签页。焦点追踪通过scrollIntoView({ behavior: smooth, block: center })自动滚动至目标段落并运用CSS动画pulse对目标段落进行4秒的背景高亮闪烁提升审查直觉。五、 系统性能与稳定性保障API防熔断设计针对Embedding和大模型纠错接口引入指数退避Exponential Backoff重试机制设定最大重试3次与30秒总超时大幅降低因网络波动引发的提取中断。批处理优化Embedding请求合并为100条/批OCR大模型纠错合并为10条/批并增加请求延时1秒有效避免触发OpenAI API的并发限流Rate Limit。内存级缓存构建字典级Embedding缓存对频繁出现的重复文本块跳过请求单个文档缓存开销控制在360KB左右。模块技术方案关键参数文档分块按语义边界切分编号从0开始max_blocks60通道1LLM标注Prompt注入来源标注指令格式[来源: X, Y]通道2语义匹配OpenAI Embedding 余弦相似度threshold0.45,top_k3融合策略LLM结果覆盖语义结果去重取前5标记来源方法hybrid/semantic/llm功能模块技术实现解决的问题历史记录持久化JSON文件 RESTful API跨浏览器/设备同步批注存储SQLite Pydantic校验支持批量导出与多用户ChromaDB同步删除delete_chunks()函数文档删除时清理向量双栏阅读ReaderView.vue 文本选中联动边读边批注自定义示例库SQLite新增custom_samples表用户可保存常用文书模板示例加载优化直接路由跳转 固定ID缓存加载时间从数秒降至接近0MD5文件去重上传时计算哈希比对避免重复解析消耗资源问题解决方案效果PDF文本中插入额外空格导致正则匹配失败正则表达式兼容\s*如[(]\s*\d{4}\s*[)]案号抽取成功率从65%提升至92%OCR识别错别字、漏字大模型文本勘误GPT-3.5-turbo“争焦点”→“争议焦点”等大模型响应超时添加重试机制最多3次指数退避稳定性提升API速率限制批处理batch_size10 1秒间隔避免限流问题解决问题责任人解决方案历史记录保存422错误成员jyx将timestamp字段设为可选默认值批保存字段名不一致成员jyxAPI返回前统一selectedText与selected_text批注时间显示少8小时成员jyxSQLite UTC时间明确时区前端toLocaleString转换自定义示例无法随文档删除成员jyx为custom_samples表新增doc_id外键LLM忘记标注来源30-40%概率成员lxj语义匹配通道兜底正则无法匹配带空格的案号成员zzx正则表达式增加\s*兼容空格总结本次迭代中团队成功落地了兼顾精度与工程可行性的无GPU架构混合溯源方案彻底解决了系统数据的后端持久化问题并通过双栏联动、MD5秒传、示例ID缓存等一系列深度优化将系统的响应延迟与操作顺滑度提升到了新的台阶。团队在跨端API对接、并发状态管理以及提示词工程上的协作默契也得到了显著增强。

更多文章