章节 01
导读 / 主楼:CourtJudgment Analyzer AI:多智能体协作的法律判决分析系统
CourtJudgment Analyzer AI:多智能体协作的法律判决分析系统
原作者与来源
- 原作者/维护者:alx-369
- 来源平台:GitHub
- 原始标题:court-judgment-analyzer-ai
- 原始链接:https://github.com/alx-369/court-judgment-analyzer-ai
- 发布时间:2026年6月3日
项目概述
CourtJudgment Analyzer AI是一款面向法律研究人员、学生和专业人士的智能判决分析工具。该系统旨在帮助用户深入理解和研究法院判决文书,通过上传PDF格式的案件判决,自动提取先例信息,并以自然语言方式回答复杂的法律问题。
与传统法律检索工具不同,该系统采用协作式多智能体架构,将法律问答任务分解为多个子任务,结合混合RAG(检索增强生成)技术进行文档检索,提取法律引用,并通过关系型数据库进行相似案例的交叉引用。
核心功能特性
PDF判决文书智能解析
系统能够自动提取PDF文档中的文本内容,按页进行结构化处理,将内容分割为带有页码引用的文本块。这种细粒度的处理方式确保了后续检索和引用的精确性,用户可以准确定位到判决文书中的具体段落。
五智能体协作推理架构
该系统创新性地采用五智能体协作架构,由编排器(Orchestrator)协调多个专业子智能体共同完成复杂任务:
查询理解智能体负责解析用户的搜索意图,识别页码过滤条件,并将查询重写为适合语义检索的形式。例如,当用户询问"请解释第5页提到的侵权责任认定标准"时,该智能体会提取出页码过滤条件和核心法律概念。
检索智能体使用ChromaDB执行向量查询,结合元数据过滤器精确定位相关文本块。系统采用ONNX MiniLM-L6-v2嵌入模型,实现零依赖的本地向量计算,确保数据隐私和离线可用性。
引用提取智能体扫描文档中的法规条款、宪法条文、规则和先例信息。这一功能对于法律研究至关重要,因为准确的引用溯源是法律论证的基础。
类案发现智能体通过关系型数据库进行交叉引用,发现与当前案件相关的历史案例。这种关系型检索超越了简单的关键词匹配,能够理解案件之间的实质关联。
响应生成智能体将各智能体提供的上下文信息整合为结构化的Markdown格式回答,并嵌入内联引用,确保回答的可追溯性和权威性。
交互式三面板界面
系统提供精心设计的用户界面,采用三面板布局:
- 左侧面板:显示最近对话记录和PDF上传区域,方便用户管理多个案件
- 主聊天区域:展示用户对话、页码引用信息和详细的多智能体推理追踪日志
- 右侧面板:展示关系型案例详情、AI生成的摘要和映射的先例列表
这种布局使法律研究人员能够同时查看原始文档、AI分析结果和相关案例,大幅提升研究效率。
技术架构详解
后端技术栈
系统后端采用Python技术栈,基于FastAPI框架构建:
- FastAPI:高性能异步Web框架,支持自动API文档生成
- SQLAlchemy:ORM框架,用于SQLite数据库操作
- ChromaDB:向量数据库,支持语义检索
- Google Gemini SDK:大语言模型接口,支持多智能体推理
- Pydantic:数据验证和序列化
数据库设计
系统采用SQLite关系型数据库,设计了五个核心数据表:
Case表存储案件元数据,包括标题、法院名称、判决日期、AI生成的摘要和上传状态。
CaseChunk表存储案件文本的分块内容,映射到具体的页码。这种细粒度存储支持精确的上下文检索。
Citation表记录从判决文书中解析出的先例、法规和法条信息,构建法律知识图谱的基础。
Conversation表管理用户创建的对话线程,支持多案件并行研究。
Message表存储对话消息,特别的是助手消息包含agent_log字段,以JSON格式序列化智能体的推理过程,用户可以在界面中查看完整的思考链条。
向量搜索引擎
系统使用ChromaDB作为向量存储引擎,采用零依赖的本地ONNX MiniLM-L6-v2嵌入模型。这种设计有两个显著优势:一是完全离线运行,敏感法律文档无需上传至第三方服务;二是响应速度快,本地计算避免了网络延迟。
检索时,系统会应用复合过滤器,将搜索范围限定在当前激活的案件文件或特定页码,然后对结果进行相关性排序,确保返回最相关的文本片段。
快速开始指南
后端部署
首先克隆仓库并进入后端目录:
cd backend
创建并激活Python虚拟环境:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\Activate.ps1 # Windows
安装依赖:
pip install -r requirements.txt
配置API密钥(可选):
在backend/.env文件中设置Google Gemini API密钥:
GEMINI_API_KEY=YOUR_GEMINI_API_KEY
如果没有配置API密钥,系统将以模拟模式运行,使用检索到的文本块以确定性方式回答问题,便于无密钥测试。
启动FastAPI服务器:
python -m uvicorn app.main:app --reload --port 8000
前端部署
进入前端目录并安装依赖:
cd frontend
npm install
启动开发服务器:
npm run dev
访问终端显示的链接(通常为http://localhost:5173)即可打开系统界面。
应用场景与价值
法律教育
法学院学生可以使用该系统快速理解复杂判决文书的结构和逻辑,通过AI生成的摘要把握案件要点,通过多智能体推理过程学习法律分析方法。
法律实务
执业律师可以利用类案发现功能快速找到支持当前案件的相关先例,引用提取功能确保法律依据的准确性,大幅提升法律检索效率。
学术研究
法律研究人员可以通过系统分析大量判决文书,发现裁判规则的变化趋势,构建法律知识图谱,支持实证法学研究。
技术亮点与创新点
多智能体协作机制
与单一大语言模型不同,该系统将复杂任务分解为多个子任务,由专门优化的智能体分别处理。这种分工协作机制提高了任务处理的专业性和准确性,每个智能体可以针对特定任务进行优化。
混合RAG架构
系统结合了向量检索和关系型检索的优势。向量检索擅长语义匹配,能够找到概念相关但表述不同的内容;关系型检索则能够基于案件之间的实质关联(如相同法院、相似案由)发现相关案例。
可解释AI设计
系统在响应中嵌入完整的智能体推理日志,用户可以查看AI是如何得出某个结论的。这种可解释性对于法律领域尤为重要,因为法律论证需要透明和可追溯。
本地优先架构
采用ONNX本地嵌入模型和SQLite本地数据库,系统可以完全离线运行。这对于处理敏感法律文档至关重要,确保数据不会泄露到外部服务。
总结与展望
CourtJudgment Analyzer AI展示了多智能体架构在法律AI领域的巨大潜力。通过将复杂任务分解、专业化处理,系统能够提供比单一模型更准确、更可解释的法律分析服务。
随着法律AI技术的不断发展,类似系统将在法律教育、实务和研究中发挥越来越重要的作用。该项目为法律AI应用开发提供了一个优秀的参考架构,特别是在多智能体协作、混合RAG和可解释AI方面的设计值得借鉴。