1. 项目概述
本项目旨在开发一套基于大模型的法律文书智能摘要与辅助分析系统。系统面向法官、律师、法学生等不同角色,提供多格式文档上传、智能摘要生成、法律翻译、类案推荐、双栏阅读与历史记录等核心功能。通过融合RAG架构、Self-Refine迭代翻译、结构化要素匹配检索等先进技术,提升法律文书处理效率与专业性。
项目由四名成员分工协作,目前已完成了第一阶段的开发工作,形成了可运行的前后端原型系统,各模块基本打通。
2. 团队成员与分工
| 成员角色 | 主要职责 | 完成的核心模块 |
|---|---|---|
| 队长(成员1:jyx) | 项目统筹、前后端接口协调、前端核心界面开发 | 法律文书示例界面、智能摘要前端展示、历史记录、双栏阅读、Gitee仓库管理 |
| 成员2:lxj | 法律翻译管线、类案推荐算法 | 三轮自检翻译(Self-Refine)、术语库构建、混合检索(向量+结构化要素) |
| 成员3:wzr | 后端服务与摘要生成引擎 | 提示词模板库、RAG检索增强、大模型API调用、三级摘要生成、API测试 |
| 成员4:zzx | 文档解析与预处理模块 | 多格式文档上传(PDF/Word/txt)、PDF版面分析、段落合并、表格提取、扫描件检测 |
3. 各模块开发进展
3.1 文档上传与解析模块(成员4)
目标:为系统提供稳定、安全的文档入口,支持常见法律文书格式,并提取结构化文本供后续处理。
已完成功能:
- 多格式上传:前端使用Vue 3 + Element Plus实现拖拽/点击上传,支持PDF、.docx、.txt格式,限制单文件50MB。后端使用FastAPI进行文件类型与大小二次校验,防止恶意上传。
- PDF解析与版面分析 :基于PyMuPDF库,实现以下能力:
- 文本块按坐标排序与段落合并,解决PDF解析中断行碎片化问题。
- 自动识别并过滤页眉页脚,可配置保留或丢弃。
- 表格独立提取为结构化数据。
- 扫描件检测:通过前几页文本量判断是否为扫描件,为后续OCR预留接口。
- 结构化输出:解析结果以JSON格式输出,包含文本内容、坐标、页码、类型及字体大小。
技术难点与解决:
- 上传进度与速度计算:使用XMLHttpRequest的progress事件,实时计算上传速率与剩余时间。
- 段落合并:根据坐标间距和字体特征判断是否属于同一段落,避免简单按行拆分。
- 扫描件检测:对每页提取的文本长度设置阈值,若连续多页文本量为零或极低,则判定为扫描件。
对后续模块的奠基:解析后的结构化文本为RAG检索、摘要生成、翻译等提供了干净、分块的输入。
3.2 智能摘要生成模块(成员3 + 队长)
目标:根据不同角色(法官、律师、法学生),生成三级结构化摘要(一句话概要、段落摘要、关键要素列表),并支持RAG增强。
已完成功能:
- 提示词模板库:后端维护针对法官、律师、法学生三种角色的提示词模板,根据所选角色动态组装Prompt,引导大模型聚焦不同维度(如裁判逻辑、代理策略、学习要点)。
- RAG检索增强:对超长文书,将当前文书内容作为查询,从ChromaDB向量库中检索最相关的切片作为补充上下文输入大模型,确保摘要紧扣文书核心。(注:ChromaDB集成仍在调试中,当前使用模拟检索)
- 大模型API调用:支持GPT-4及文心一言,输入组合后的Prompt(角色提示+检索上下文+结构化字段),生成结构化摘要输出。
- 前端展示 (队长实现):
- 通过
SummaryPanel.vue选择角色后调用/api/summary/{docId}。 - 前端分三层展示(一句话概要、段落摘要、关键要素),并支持翻译为英文。
- 历史记录功能:使用localStorage存储最近50条文档访问记录,支持搜索与清空。
- 通过
- API测试 :编写
test_api.py,对健康检查、角色列表、摘要生成接口进行了完整测试,所有接口返回符合预期。
待优化项:ChromaDB集成尚未完全成功,当前RAG功能依赖模拟数据;后续需完成向量库的写入与检索。
3.3 法律翻译与类案推荐模块(成员2)
3.3.1 法律翻译(Self-Refine三轮迭代)
设计思想:受NeurIPS 2023 Self-Refine论文启发,将法律翻译拆解为"初始翻译 → 术语自检修正 → 完整性验证"三轮,保证翻译的可审计性与专业性。
已完成:
- 术语库构建:整理45+条法律术语双语词典,涵盖诉讼关系人(原告/被告)、程序术语(起诉/答辩/反诉)、实体法概念(管辖权/举证责任/违约等)。术语匹配采用动态注入------仅当术语在原文中出现时才加入Prompt,避免噪声。
- 三轮管线实现 :
- Round 1:temperature=0.2,输出初始翻译。
- Round 2:要求LLM输出JSON格式的修正记录(
fixes数组)与修订后译文。 - Round 3:验证遗漏、幻觉、偏差,输出最终译文及质量评分(0-100)。
- 前端展示:质量评分徽章(绿/金/橙/红四色),术语修正记录以删除线+箭头+绿色高亮形式展示,三轮详情面板可展开,按问题类型着色。
- 成本控制:单份3000字文书三轮总成本约$0.91,质量评分低于70分才需人工复核。
3.3.2 类案推荐(向量+结构化要素混合检索)
设计思想:纯向量检索存在"语义漂移"问题(如买卖合同纠纷与承揽合同纠纷因文本相似而被误判)。借鉴SAILER(SIGIR 2023)的结构化要素思想,引入四维要素匹配。
已完成:
- 四维要素匹配算法 :
- 案件类型完全匹配(权重0.15)
- 案由Jaccard相似度(权重0.30,采用字符级Jaccard,对中文更鲁棒)
- 争议焦点重叠度(权重0.25)
- 法条引用重叠度(权重0.30,正则提取"第X条")
- 混合重排序流程 :
- 先从ChromaDB向量检索获得top_k*3候选。
- 对每个候选计算要素匹配分数。
- 最终分数 = 0.6×向量相似度 + 0.4×要素相似度。
- 前端展示:案例卡片展示综合分数及分解条(语义相似度条、要素匹配条),帮助用户理解推荐理由。
实测效果:法条匹配的权重有效提升了法律实质相关案例的排名,降低了表面语义相似但实质不相关案例的干扰。
3.4 前端核心界面与协同功能(队长)
已完成:
- 法律文书示例界面 :通过
<el-upload>组件上传文件,后端返回doc_id后跳转至详情页,利用DocumentView.vue并发请求fields数据,由FieldsDisplay.vue渲染案件信息。 - 智能摘要展示:集成成员3的后端接口,实现角色切换与摘要呈现。
- 历史记录:localStorage存储最近50条文档访问记录,支持搜索与清空。
- 双栏阅读功能 :在
ReaderView.vue中左右分栏展示文本与批注。批注以localStorage按文档ID独立存储,支持选中文本添加批注及删除操作。 - Gitee项目管理:创建团队仓库,提交第一版代码,撰写项目进展文档。
4. 技术栈总结
| 层次 | 技术选型 |
|---|---|
| 前端 | Vue 3 + TypeScript + Element Plus |
| 后端 | FastAPI (Python 3.10+) |
| 大模型API | DeepSeek |
| 向量数据库 | ChromaDB(调试中) |
| 文档解析 | PyMuPDF, python-docx |
| 代码协作 | Gitee |
| 开发工具 | VS Code, Gemini编程工具 |
5. 遇到的问题与解决方案
| 问题描述 | 涉及模块 | 原因分析 | 解决方案 | 状态 |
|---|---|---|---|---|
| ChromaDB集成失败 | 摘要生成、类案推荐 | 版本兼容性与配置问题 | 暂时使用模拟检索,后续排查依赖 | 进行中 |
| PDF解析断行导致段落碎片化 | 文档解析 | PyMuPDF按坐标输出文本块,无语义合并 | 实现基于坐标间距和字体特征的段落合并算法 | 已解决 |
| 大模型JSON输出格式不稳定 | 翻译模块 | LLM有时输出markdown代码块或混合文本 | 增加多层JSON提取逻辑(正则匹配json...等) |
已解决 |
| 前端跨域请求 | 前后端联调 | 后端未配置CORS | 添加FastAPI CORSMiddleware |
已解决 |
| 上传大文件导致超时 | 文档上传 | 默认超时时间过短 | 前端设置timeout=60s,后端增加流式处理 | 已解决 |
6. 下一步计划
- 完成ChromaDB集成:实现向量库的文档切片写入与检索,打通RAG摘要与混合检索的真实数据流。
- 优化PDF扫描件OCR:对检测为扫描件的PDF,集成Tesseract或OCR服务,提取可编辑文本。
- 增加用户认证与多文档管理:实现用户登录、个人文档库,替换localStorage为后端数据库存储历史记录与批注。
- 扩充术语库与测试集:将术语库从45条扩展至200+,并构建标准法律翻译测试集,评估三轮管线的BLEU与术语准确率。
- 部署与性能测试:将系统部署至云服务器(如阿里云ECS),进行并发测试与响应时间优化。
7. 总结
经过第一阶段的密集开发,团队成功实现了法律文书智能摘要系统的主体功能,包括多格式文档上传与解析、角色感知的摘要生成、可审计的法律翻译、混合检索类案推荐以及双栏阅读等用户体验功能。各成员在各自领域深入实践了RAG、Self-Refine、版面分析等前沿技术,并通过前后端联调完成了模块集成。虽然ChromaDB等组件尚需完善,但整体系统已具备演示和进一步迭代的基础。下一阶段我们将聚焦于向量检索的落地、OCR支持以及系统部署,力争交付一个专业、可靠的法律AI辅助工具。