# 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 ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` 启动本地开发服务器,默认访问 `http://localhost:5173` ### 构建生产版本 ```bash npm run build ``` ### 预览生产版本 ```bash npm run preview ``` ## 项目结构 ``` frontend/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 # 应用入口 ``` ## 核心类型定义 ```typescript // 法规信息 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