基于 LangGraph 多 Agent 协同的智能文档审查平台
·
🤖 智能文档审查系统
📖 项目简介
智能文档审查系统是一个基于 LangGraph 多 Agent 协同架构的文档审查平台。用户可以通过可视化工作流编辑器自定义审查流程,上传文档后系统自动调用多个 AI Agent 协同完成审查,并生成详细的审查报告。
核心特性
| 特性 | 说明 |
|---|---|
| 🎨 可视化工作流编辑器 | 基于 React Flow 的拖拽式 Agent 编排,支持自定义审查流程 |
| 🤖 多 Agent 协同 | 声明提取、事实核查、合规审查、终审裁决四个专业化 Agent |
| 📊 实时进度追踪 | SSE 推送审查进度,可视化展示 Agent 执行状态 |
| 📄 多格式支持 | 支持 PDF、DOCX、Markdown、TXT 文档上传 |
| 🌓 暗色主题 | 支持明暗主题切换,护眼暗色模式 |
| 📥 PDF 导出 | 一键导出审查报告为 PDF 文件 |
| 🔌 灵活 LLM 接入 | 支持所有 OpenAI 兼容 API(本地/云端) |
🖼️ 界面预览
首页
上传文档,选择审查场景,一键开始审查。

工作流管理
查看和管理自定义审查工作流。

工作流编辑器
可视化拖拽式 Agent 编排,支持连线和配置。

审查记录
查看所有历史审查记录和状态。

审查报告
详细的审查结果,包含风险评分、事实核查、合规审查。

报告详情
事实核查和合规审查的详细结果。

系统设置
LLM 模型配置和界面主题切换。

🏗️ 技术架构
┌─────────────────────────────────────────────────────────────┐
│ 前端 (React 19) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 首页 │ │ 工作流 │ │ 审查 │ │ 报告 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ React Flow + TailwindCSS 4 + Zustand │
└─────────────────────────────────────────────────────────────┘
│ REST API + SSE
┌─────────────────────────────────────────────────────────────┐
│ 后端 (FastAPI) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 文档 │ │ 工作流 │ │ 审查 │ │ PDF │ │
│ │ API │ │ API │ │ API │ │ 导出 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ LangGraph + SQLAlchemy + OpenAI SDK │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ AI 引擎 (LangGraph) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 声明 │ │ 事实 │ │ 合规 │ │ 终审 │ │
│ │ 提取 │→│ 核查 │→│ 审查 │→│ 裁决 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────────┐
│ LLM 服务 │
│ Ollama / vLLM / LM Studio / OpenAI / 自定义 API │
└─────────────────────────────────────────────────────────────┘
🛠️ 技术栈
前端
| 技术 | 版本 | 用途 |
|---|---|---|
| React | 19 | UI 框架 |
| TypeScript | 5.7 | 类型安全 |
| TailwindCSS | 4 | 样式框架 |
| Vite | 6 | 构建工具 |
| React Flow | - | 可视化工作流编辑器 |
| Zustand | - | 状态管理 |
| TanStack Query | 5 | 数据请求 |
| Lucide React | - | 图标库 |
后端
| 技术 | 版本 | 用途 |
|---|---|---|
| Python | 3.12+ | 运行时 |
| FastAPI | 0.139+ | Web 框架 |
| LangGraph | 0.4+ | Agent 工作流编排 |
| SQLAlchemy | 2.0 | ORM |
| SQLite | - | 数据库 |
| OpenAI SDK | - | LLM 调用 |
| fpdf2 | 2.8+ | PDF 生成 |
| uvicorn | 0.34+ | ASGI 服务器 |
依赖管理
- Python: UV (快速 Python 包管理器)
- Node.js: npm
🚀 快速开始
环境要求
- Python 3.12+
- Node.js 18+
- UV 包管理器
安装与启动
# 克隆项目
git clone https://github.com/liuchangng/document-review-system.git
cd document-review-system
# Linux/Mac
./start.sh
# Windows
start.bat
脚本会自动:
- 检查 Python、Node.js、UV 环境
- 安装后端依赖(UV)
- 安装前端依赖(npm)
- 启动后端服务(http://localhost:8000)
- 启动前端服务(http://localhost:5173)
手动启动
# 后端
cd server
uv sync
uv run uvicorn main:app --host 0.0.0.0 --port 8000
# 前端(新终端)
cd web
npm install
npm run dev
⚙️ 配置
环境变量
复制 .env.example 为 server/.env:
# LLM 配置
LLM_BASE_URL=https://api.openai.com/v1
LLM_API_KEY=sk-your-api-key
LLM_MODEL=gpt-4o
# 本地模型示例 (Ollama)
# LLM_BASE_URL=http://localhost:11434/v1
# LLM_API_KEY=not-needed
# LLM_MODEL=qwen2.5:7b
# 本地模型示例 (LM Studio)
# LLM_BASE_URL=http://localhost:1234/v1
# LLM_API_KEY=not-needed
# LLM_MODEL=qwen2.5-7b-instruct
支持的 LLM 服务
| 服务 | Base URL | 说明 |
|---|---|---|
| OpenAI | https://api.openai.com/v1 | GPT-4o 等 |
| Ollama | http://localhost:11434/v1 | 本地部署 |
| LM Studio | http://localhost:1234/v1 | 本地部署 |
| vLLM | http://localhost:8000/v1 | 高性能推理 |
| SiliconFlow | https://api.siliconflow.cn/v1 | 国内云服务 |
| Agnes AI | https://api.agnes-ai.cn/v1 | 国内云服务 |
📁 项目结构
news-review/
├── start.sh # Linux/Mac 启动脚本
├── start.bat # Windows 启动脚本
├── .env.example # 环境变量示例
├── README.md # 项目文档
│
├── server/ # Python 后端
│ ├── pyproject.toml # UV 依赖配置
│ ├── main.py # FastAPI 入口
│ ├── config/ # 配置模块
│ ├── models/ # 数据模型
│ ├── agents/ # Agent 模块
│ ├── graph/ # LangGraph 工作流
│ ├── prompts/ # 提示词模板
│ ├── services/ # 业务服务
│ └── api/ # API 路由
│
├── web/ # React 前端
│ ├── package.json # npm 依赖
│ ├── vite.config.ts # Vite 配置
│ └── src/
│ ├── pages/ # 页面组件
│ ├── components/ # UI 组件
│ ├── hooks/ # React Hooks
│ ├── services/ # API 服务
│ └── stores/ # 状态管理
│
└── docs/ # 项目文档
└── images/ # 截图
🔧 自定义工作流
使用预设模板
系统内置"默认审查流程"模板,包含四个标准 Agent:
- 声明提取 - 从文档中提取可验证的事实性声明
- 事实核查 - 对每条声明进行验证和评估
- 合规审查 - 检查文档是否存在合规问题
- 终审裁决 - 综合评估并给出风险评分
创建自定义工作流
- 访问
/workflows页面 - 点击"创建工作流"
- 在画布上添加 Agent 节点
- 配置每个 Agent 的名称和提示词
- 拖拽连线定义执行顺序
- 验证并保存
📄 API 文档
启动后端服务后访问:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
主要端点
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/documents | 上传文档 |
| GET | /api/documents | 文档列表 |
| DELETE | /api/documents/{id} | 删除文档 |
| POST | /api/reviews | 创建审查 |
| GET | /api/reviews | 审查列表 |
| GET | /api/reviews/{id} | 审查详情 |
| GET | /api/reviews/{id}/progress | SSE 进度推送 |
| GET | /api/reviews/{id}/export/pdf | 导出 PDF |
| GET | /api/workflows | 工作流列表 |
| POST | /api/workflows | 创建工作流 |
| POST | /api/workflows/validate | 验证工作流 |
📜 许可证
本项目采用 Apache License 2.0 许可证。
Copyright 2026
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
允许学习研究使用 - 本项目可用于个人学习、教学和研究目的。
🔗 相关链接
- 📂 GitHub: https://github.com/liuchangng/document-review-system
- 🐛 Issues: https://github.com/liuchangng/document-review-system/issues
更多推荐


所有评论(0)