Regulation RAG - 法规合规智能分析系统
一个基于 RAG (Retrieval-Augmented Generation) 技术的法规合规智能分析与问答系统原型。支持文档上传、语义分段分析、法规匹配标注、风险评估及交互式合规问答。
功能特性
📋 合规分析 (Compliance)
- 文档上传与解析 - 支持 PDF、DOCX、TXT 格式文档上传
- AI 语义分段 - 自动识别文档语义段落与设计意图
- 法规匹配标注 - 根据段落内容匹配相关法规条款,计算相关性得分
- 风险仪表盘 - 可折叠的风险评估面板,展示合规评分、高风险项、待修改段落
- 优先行动建议 - 基于风险等级生成修改建议列表
💬 RAG 对话 (Rag Chat)
- 法规问答 - 基于向量检索的法规问答系统
- 快捷问题 - 预设常用问题快速提问
- 检索片段展示 - 右侧面板实时显示引用的法规片段及相似度得分
- 答案重生成 - 支持重新生成上一个回答
📚 文档管理 (Docs)
- 文档上传 - 支持多种格式文档导入
- 索引状态 - 显示已索引文档列表及分块数量
- 处理流水线 - 展示 Load → Parse → Chunk → Embed → Store 全流程状态
📊 系统状态 (Status)
- 系统统计 - 文档数、分块数、向量维度、条款数
- 配置展示 - LLM 模型、Embedding 模型、向量数据库、检索策略等参数
技术栈
- 前端框架: React 19 + TypeScript
- 构建工具: Vite 8
- 样式方案: TailwindCSS 4
- 状态管理: React Context API
快速开始
安装依赖
npm install
开发模式
npm run dev
启动本地开发服务器,默认访问 http://localhost:5173
构建生产版本
npm run build
预览生产版本
npm run preview
项目结构
src/
├── components/
│ ├── common/ # 通用组件 (Logo, Pattern, ThemeToggle)
│ ├── layout/ # 布局组件 (Header, Tabs, Content)
│ └── ui/ # UI 基础组件 (Badge, Button, Card, Input...)
├── contexts/ # React Context (AppContext, ThemeContext)
├── data/ # Mock 数据
├── pages/
│ ├── Compliance/ # 合规分析页面
│ ├── Docs/ # 文档管理页面
│ ├── RagChat/ # RAG 对话页面
│ └── Status/ # 系统状态页面
├── styles/ # 全局样式
├── types/ # TypeScript 类型定义
└── App.tsx # 应用入口
核心类型定义
// 法规信息
interface Regulation {
id: number;
name: string; // 法规名称
clause: string; // 条款编号
score: number; // 相关性得分 (0-1)
matchKeyword: string; // 匹配关键词
category: 'high' | 'medium' | 'low'; // 相关性等级
fullContent: string; // 法规完整内容
}
// 语义段落
interface ComplianceChunk {
id: number;
index: number; // 段落序号
intent: string; // 段落意图
startPos: number; // 文档起始位置
endPos: number; // 文档结束位置
content: string; // 段落内容
regulations: Regulation[];
}
// 风险仪表盘数据
interface RiskDashboardData {
score: number; // 合规评分
highRiskCount: number; // 高风险项数量
mediumRiskCount: number;
lowRiskCount: number;
needFixSegments: number;// 待修改段落数
status: 'pass' | 'warning' | 'fail';
statusLabel: string; // 状态标签
segmentRisks: SegmentRisk[];
}
界面设计
- 主题: 支持深色/浅色主题切换
- 配色: T-Mobile 品牌色系 (E20074 主色调)
- 布局: 响应式设计,固定 Header + Tab 导航
- 交互: 卡片式布局,悬浮效果,进度条动画
注意事项
本项目为原型演示系统,使用 Mock 数据模拟后端服务。生产环境需接入:
- 文档解析服务
- 向量数据库 (如 ChromaDB、Milvus)
- Embedding 模型 API
- LLM 服务 API
License
MIT