OrgMind 是一个集成了 OA 组织架构管理、RAG 知识库问答、AI 智能考试 与 企业级权限管理 的现代化组织智能系统。
系统采用前后端分离架构,前端基于 Ant Design Pro (React) 构建,后端采用高性能的 FastAPI (Python) 框架,底层数据存储使用 PostgreSQL 并结合 pgvector 实现向量检索能力。
- 核心框架: React 19 + UmiJS Max
- UI 组件库: Ant Design 5.x + Ant Design Pro Components
- 语言: TypeScript 5.x
- 图表可视化: @ant-design/charts (G2Plot)
- 构建工具: Webpack (via Umi)
- 代码规范: Biome, ESLint, Prettier
- Web 框架: FastAPI (Python 3.11+) - 高性能异步框架
- ORM: SQLAlchemy - 数据库交互
- 数据库: PostgreSQL + pgvector 插件 (向量存储)
- AI/LLM 框架: LangChain - 构筑 RAG 流水线
- 数据验证: Pydantic v2
- 身份认证: OAuth2 + JWT (python-jose)
- 文档处理: pypdf, docx2txt, python-docx
- 分词工具: Jieba (中文分词)
- 向量数据库: PostgreSQL (pgvector)
- 模型服务: 兼容 OpenAI 接口的模型服务 (默认配置接入百智云/DeepSeek)
- 反向代理: Nginx (生产环境建议)
| 模块 | 功能描述 | 关键技术点 |
|---|---|---|
| OA 管理 (OA) | 部门、岗位、职员、薪酬项管理 | 树形结构存储 (ltree 或递归查询),复杂关联查询 |
| RAG 知识库 (RAG) | 文档上传、解析、切片、向量化、智能问答 | LangChain TextSplitter, Embedding (BGE-M3), Rerank, Vector Search |
| 考试中心 (Exam) | 试卷编辑、在线考试、自动阅卷、成绩看板 | 倒计时控制、防作弊逻辑、自动评分算法 |
| 系统管理 (System) | 用户、角色、权限 (RBAC)、数据字典 | 基于 RBAC 的动态权限控制,前端路由鉴权 |
| 门户 (Portal) | 员工自助服务、AI 助手入口、通知公告 | 响应式布局,个性化推荐 |
| 模块 | 主要功能 | 技术亮点 | 关键截图 |
|---|---|---|---|
| 🏢 OA 管理 | 部门、岗位、职员、薪酬管理 | 树形结构存储、复杂关联查询 | 部门管理 |
| 📚 RAG 知识库 | 文档管理、智能问答、向量检索 | LangChain + Embedding + Rerank | 知识库列表 |
| 📝 考试中心 | AI出题、在线考试、成绩分析 | 倒计时控制、防作弊、自动评分 | 考试列表 |
| ⚙️ 系统管理 | 用户、角色、权限、字典 | RBAC权限模型、动态路由 | 权限管理 |
| 🚪 员工门户 | 自助服务、AI助手、通知 | 响应式布局、个性化推荐 | 门户页面 |
展示组织架构、知识库与考试中心三大核心领域的实体关系,重点设计包括部门树路径枚举、统一权限模型及题目溯源机制。
展示员工发起 AI 提问时的完整处理流程,包含权限注入、元数据过滤及敏感审计等关键安全设计。
核心流程说明:
- 文档上传: 用户上传 PDF/Word/Markdown 文档
- 解析与切片: 后端服务提取文本,使用 LangChain 进行语义切片
- 向量化: 调用 Embedding 模型 (默认
bge-m3) 将文本转换为向量 - 存储: 向量数据存入 PostgreSQL
pgvector字段 - 检索与生成: 用户提问 → 生成问题向量 → 数据库相似度检索 → Rerank 重排序 → LLM 生成回答
展示从 AI 辅助出题、RESTful 试卷交互到即时规则判分的完整闭环流程。
考试系统亮点:
- AI智能出题: 基于知识库内容自动生成考试题目
- 防作弊机制: 倒计时控制、切屏检测、答案锁定
- 自动评分: 客观题即时评分,主观题AI辅助评分
- 成绩分析: 多维度成绩统计和可视化展示
orgmind-backend/
├── app/
│ ├── api/ # API 路由定义 (v1/endpoints)
│ ├── core/ # 核心配置 (config.py, security.py)
│ ├── db/ # 数据库连接与基类 (session.py, base.py)
│ ├── models/ # SQLAlchemy 数据模型 (ORM)
│ ├── schemas/ # Pydantic 数据验证模型 (DTO)
│ ├── services/ # 复杂业务逻辑 (rag.py, exam.py, llm.py)
│ └── utils/ # 工具函数
├── data/ # 静态文件存储 (uploads, img)
├── main.py # 应用入口
├── requirements.txt # 依赖列表
└── enable_pgvector.py # 数据库插件初始化脚本系统通过环境变量或默认值配置核心参数:
-
Database: PostgreSQL 连接串。
-
Security:
SECRET_KEY,ALGORITHM(HS256)。 -
LLM Models (AI 模型配置): 为了简化集成流程,本项目目前一次性接入了 长亭百智云 的模型广场服务,涵盖了 RAG 所需的全套模型能力。
- 智能对话模型 (必须配置): 负责最终的答案生成与逻辑推理 (默认配置:
deepseek-v3)。 - 向量模型 (必须配置): 负责知识库文档的语义向量化 (默认配置:
bge-m3)。 - 重排序模型 (必须配置): 负责对初步检索结果进行语义重排序,提升 RAG 准确率 (默认配置:
bge-reranker-v2-m3)。
说明:虽然默认接入百智云,但系统底层基于标准 OpenAI 接口协议封装。如果您需要对接 Azure OpenAI、阿里通义千问或本地部署的 Ollama 模型,只需在
.env文件中修改对应的BASE_URL和API_KEY即可自行替换。 - 智能对话模型 (必须配置): 负责最终的答案生成与逻辑推理 (默认配置:
orgmind-frontend/
├── config/ # Umi 配置 (routes.ts, proxy.ts)
├── src/
│ ├── components/ # 全局公共组件
│ ├── pages/ # 页面组件
│ │ ├── OA/ # OA 模块页面
│ │ ├── RAG/ # RAG 模块页面
│ │ ├── Exam/ # 考试模块页面
│ │ └── System/ # 系统管理页面
│ ├── services/ # API 请求层 (定义后端接口调用)
│ ├── access.ts # 权限控制定义
│ └── app.tsx # 运行时配置 (初始状态、布局)
└── types/ # TypeScript 类型定义路由配置集成了菜单生成与权限校验:
{
path: '/oa/department',
name: '部门管理',
component: './OA/Department',
access: 'canOaDepartmentList', // 对应 src/access.ts 中的权限判断
}- Python 3.11+
- Node.js 20+
- PostgreSQL 15+ (必须安装
vector扩展)
- 安装依赖:
pip install -r requirements.txt - 初始化数据库:
python enable_pgvector.py(确保 PG 已安装 vector 插件) - 启动服务:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
- 安装依赖:
npm install - 启动开发服:
npm run start(默认端口 8000,需在config/proxy.ts配置后端代理)
建议在后端根目录创建 .env 文件覆盖 app/core/config.py 中的默认设置,特别是 CHAT_API_KEY 和数据库密码。
考试进行页面,支持倒计时、防切屏和自动保存功能
| 微信:PJ221BBB | 公众号:布鲁的Python之旅 |
|---|---|
![]() |
![]() |
























