本文基于前文 多层级RBAC-RAG权限架构、数据库字段、鉴权逻辑,输出一套可直接落地的 环境搭建 + 二次开发 + 权限联调 完整流程。整体坚持轻量化开发思路,无需重型微服务、无需权限中台,适配中小企业快速上线、低成本维护的核心诉求。

核心开发目标:实现 跨部门强隔离 + 部门内多级权限 + 文档白名单细粒度管控 的企业私有RAG智能办公系统。

一、整体开发架构选型(轻量化生产可用)

为避免过度开发、降低运维成本,技术栈全部选择轻量、开源、易部署、低资源消耗的组件,单机/轻量云服务器即可跑满业务需求。

1. 核心组件选型

  • 大模型服务:通义千问/星火轻量API 或 本地开源模型(Qwen-7B),兼顾成本与响应速度
  • 向量数据库:Chroma / FAISS(轻量首选),无需分布式集群,支持标签过滤与分组管理
  • 业务数据库:MySQL 8.0,存储用户权限、文档元数据、权限规则映射关系
  • 权限中间件:自研轻量鉴权服务(核心改造点),实现检索前置权限过滤
  • 用户体系对接:企业微信/钉钉开放API,自动同步部门、账号、岗位信息
  • 后端服务:Python FastAPI,轻量高效,适配RAG检索、文档解析、权限校验全流程

2. 最简工程架构分层

完全对齐前文权限链路,层级清晰、无冗余模块:

用户鉴权层权限过滤中间件层向量检索层 → LLM生成层日志审计层

二、从零搭建基础运行环境(1小时完成)

1. 基础环境准备

  • 服务器:4核8G轻量云服务器即可(中小企业全量业务足够)
  • 运行环境:Python3.9+、MySQL8.0、Docker(可选,用于容器化部署)
  • 依赖安装:文档解析库、向量库、FastAPI、鉴权加密依赖、企业微信SDK

2. 数据库初始化(核心三张表)

直接执行建表语句,创建前文定义的核心权限数据表,为后续权限逻辑提供数据支撑:

  • user_rbac 用户权限表:存储用户部门、角色等级、扩展权限标签
  • doc_permission 文档权限表:存储所有文档、向量切片的归属部门、密级、黑白名单
  • rbac_rule 权限映射表:统一配置角色与文档密级的访问对应关系

初始化完成后,批量录入企业组织架构、用户角色等级、默认权限规则。

3. 向量库初始化

不做多集群部署,采用 单库多分组 轻量化方案:

  • 按部门创建独立向量分组(销售组、研发组、财务组、公共组)
  • 所有文档切片入库时,强制绑定 vec_group_iddept_ownersecret_level 权限字段
  • 向量切片与权限元数据一一绑定,实现切片级细粒度权限管控

三、核心功能开发流程(权限体系落地核心)

普通RAG系统无需开发权限逻辑,本方案核心差异化开发集中在 权限中间件改造,共4个核心开发步骤。

1. 第一步:用户身份自动同步与绑定

对接企业微信/钉钉API,实现自动化数据同步,无需人工维护账号:

  • 自动同步全员账号、所属部门、岗位信息
  • 管理员后台手动配置核心权限字段:role_level(角色等级)、自定义权限白名单
  • 用户登录系统后,会话缓存用户全量权限信息,用于后续实时鉴权

2. 第二步:文档入库权限绑定开发(前置打标)

所有文档上传、切片、向量化流程中,强制增加 权限打标逻辑,一文一密、一切片一权限:

  • 用户上传文档时,默认带入上传人所属部门、角色身份
  • 系统自动填充默认权限,支持管理员手动修改密级、黑白名单
  • 每一段向量切片同步复制文档权限元数据,确保检索时精准过滤

关键规则:权限信息跟随向量存储,不依赖外部关联查询,检索效率更高

3. 第三步:权限过滤中间件核心开发(最关键)

重写RAG检索前置逻辑,在 相似度召回之前 完成三层权限拦截,彻底杜绝越权访问:

第一层:跨部门分组拦截

校验用户所属部门编码,仅允许检索「公共向量组 + 自身部门向量组」,其他部门向量组直接屏蔽,不参与检索计算。

第二层:部门内密级等级拦截

读取用户 role_level 角色等级,匹配 rbac_rule 权限映射表,过滤掉当前用户无权限的高密级文档切片:

  • 普通员工:仅召回公开、部门基础资料
  • 骨干员工:召回公开资料+部门核心业务资料
  • 部门负责人:召回本部门全密级资料

第三层:黑白名单兜底拦截

若文档配置专属白名单/黑名单,优先覆盖角色权限规则:白名单用户专属可见,黑名单用户永久拦截。

4. 第四步:LLM生成层二次权限约束

在模型Prompt中写入强制约束规则,作为最后一道安全兜底:

  • 禁止模型基于有限片段推演、猜测涉密数据
  • 禁止跨部门数据混搭输出
  • 高密级文档仅输出极简摘要,隐藏底价、成本、薪资等敏感字段

四、功能联调与权限校验测试(上线必做)

开发完成后,需覆盖全场景权限测试,确保无权限漏洞:

1. 跨部门测试

销售账号检索财务、研发涉密资料,验证无任何召回结果、无越权输出。

2. 部门内层级测试

同部门普通员工、骨干、负责人分别登录测试,验证不同角色的资料可见范围严格区分,高密级数据仅管理层可见。

3. 白名单专项测试

验证绝密文档仅指定白名单账号可访问,其余所有角色(含部门负责人)全部拦截。

4. 边缘场景测试

文档修改密级、用户调整角色、部门调动后,权限实时生效,无缓存权限残留问题。

五、运维与迭代方案

  • 权限可视化管理:后台支持可视化配置角色等级、密级对应规则、文档黑白名单,无需改代码
  • 操作日志审计:所有涉密文档检索、问答、导出操作全程留痕,可追溯、可审计
  • 知识库增量更新:新增文档自动打标、自动入对应部门向量组,无需手动干预
  • 平滑迭代:后续可扩展外部用户权限、临时访问权限、文档时效权限等功能,架构无需重构

六、整套方案核心落地优势

  1. 开发量极小:基于通用轻量化RAG架构改造,仅新增权限中间件与数据模型,无需重构底层
  1. 安全粒度极细:实现向量切片级权限管控,远超传统整库、整文档权限方案
  1. 完全适配企业组织:同时解决跨部门隔离、部门内分层权限、专属涉密文档管控三大核心痛点
  1. 低成本易维护:单机部署、可视化配置、无复杂运维,中小企业可长期稳定使用

|(注:文档部分内容可能由 AI 生成)

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐