L7.首席
4342
0
570
近期结合 AI 梳理了一套面向多部门的企业级知识库系统应具备的功能清单,形成了一份完整的需求文档。感兴趣的朋友可以基于这份蓝图,继续深入构思技术设计和落地方案。
本文档仅规划「系统应该具备哪些能力、如何组织」,不涉及具体技术选型、排期或实施细节。
模块① 组织与权限管理
模块② 部门知识库管理
模块③ 知识检索问答
模块④ 数据源与问数
模块⑤ 项目组知识库
模块⑥ 大模型管理
模块⑦ 用户个人空间
模块⑧ 知识库运维
模块⑨ 通知中心
模块⑩ 系统运营后台
模块⑪ 对外知识库接口
知识处理流程规划
权限隔离规划
角色功能视图
治理规划
这是一个面向企业多部门的知识库问答系统,核心特征如下:
系统按使用者视角,划分为十一大模块:
/集团/技术中心/研发部
知识库审核开关
每个部门有一个审核开关(require_review),控制该部门的知识入库流程:
require_review
即:父部门向下继承可见,子部门向上不可见。研发部员工看不到技术中心其他子部门(如测试部)的知识,但技术中心负责人能看到研发部和测试部的所有知识。
超级管理员的问答权限:超管可查询任意部门的知识库信息,但不直接编辑知识库内容。如需体验问答,可通过“模拟用户”功能以某部门成员身份登录,操作将记入审计日志。 双角色机制:一个用户可同时拥有部门角色和项目组角色,两者独立不冲突。例如,张三在研发部是普通成员,同时在项目A是管理员。部门角色决定其部门内的权限,项目组角色决定其项目组内的权限,两者按操作所属范围判断。
超级管理员的问答权限:超管可查询任意部门的知识库信息,但不直接编辑知识库内容。如需体验问答,可通过“模拟用户”功能以某部门成员身份登录,操作将记入审计日志。
双角色机制:一个用户可同时拥有部门角色和项目组角色,两者独立不冲突。例如,张三在研发部是普通成员,同时在项目A是管理员。部门角色决定其部门内的权限,项目组角色决定其项目组内的权限,两者按操作所属范围判断。
部门内的知识并非全公开,需支持文档级别的可见性控制:
public
internal
confidential
文档与向量的级联删除(强制约束):
任何文档在向量库中都有对应的若干知识片段(chunks),双方必须维持一一对应的关联关系。删除文档时必须级联清除所有关联数据,不得残留孤儿向量。
关联关系保障:
doc_id
vector_id
当部门审核开关开启后,员工提交的知识先进入审核流程:
审核流程:
员工提交知识(文件/文字) │ ▼ 状态:待审核(此时不解析、不入向量库) │ ▼ 部门管理员审核 ├─ 通过 → 进入正常解析流程(待解析 → 解析中 → 已入库) └─ 驳回 → 状态:已驳回,通知提交人(附驳回原因) │ ▼ 提交人收到驳回通知,可选择: ├─ 修改后重新提交 → 状态:待审核 ├─ 放弃提交 → 状态:已放弃,归档保留记录 └─ 不处理 → 长期待在已驳回状态,定期清理提醒
驳回后修改再提交细则:
审核相关的操作与权限:
approved
rejected
业务类型(系统级公共类型)
除部门级分类外,系统提供跨部门统一的业务类型,用于标准化归类与对外接口过滤:
为降低新用户使用门槛,提供以下引导:
这是与文档问答并列的能力:文档问答查的是“知识库里的文字”,而自然语言问数查的是“业务数据库里的数据”。两者共享对话入口,但走不同的处理链路。
order_amt
用户用自然语言提问:"上个月销售额最高的三个部门是哪些?" │ ▼ 1. 意图识别:判断该问题走"文档问答"还是"数据库问数" ├─ 问数据、查统计、要数字 → 数据库问数 ├─ 问制度、查规范、要说明 → 文档问答 ├─ 混合意图(同时要文档+数据)→ 并行走两条链路,合并结果 │(也可由用户在界面手动切换模式) │ │ 意图识别优化闭环: │ - 系统在回答中附带"识别为XX模式",用户可一键切换重新执行 │ - 用户切换后自动记录误判案例(原始问题 + 误判结果 + 正确链路) │ - 误判案例定期分析,用于优化意图识别 Prompt 和规则 │ ▼ 2. 加载本部门的数据库 Schema 画像(含业务语义标注) │ ▼ 3. 大模型生成 SQL ├─ 输入:用户问题 + 表结构 + 字段语义 + 少量示例 └─ 输出:SQL 语句 + 查询意图说明 │ ▼ 4. SQL 安全校验(关键!) ├─ 只允许 SELECT,禁止 INSERT/UPDATE/DELETE/DROP ├─ 只允许查询本部门已授权的表 ├─ SQL 复杂度限制(防全表扫描拖垮库) └─ 敏感字段脱敏(如手机号、身份证号) │ ▼ 5. 执行 SQL,获取结果 │ ▼ 6. 大模型将结果转成自然语言回答 ├─ 文字描述 + 数据表格 + 必要的图表 └─ 附带"查询了哪张表、用了什么条件"的可追溯说明 │ ▼ 7. 返回回答 + 数据表格 + 可下载结果
两者在对话界面统一入口,通过意图识别自动路由或用户手动切换。
除常设的行政部门外,企业还存在大量为特定目标组建的临时项目组。项目组知识库是独立于部门树之外的横切知识空间。
project_id
scope
scope=project
项目组可引用部门知识,分为两个层级:
部门知识库授权(知识库级)
项目组管理员可将自己所属部门(含下级)的知识库授权给项目组使用:
expire_at
文档级引用(细粒度)
通用规则
[部门:研发部 → 授权至项目组:XX项目]
用户提问后,系统确定检索范围:
├─ 部门范围:按 dept_path 前缀过滤(本部门及下级) ├─ 项目组范围:按 project_id 过滤(含授权和引用的部门知识) ├─ 个人空间:按 user_id 过滤 └─ 混合范围:以上并集
统一向量检索并标注每条来源。
对接哪些大模型、哪些部门能用、模型有什么能力,统一在管理台配置。问答时按部门授权的模型列表选择使用。
设计原则:模型授权始终绑定部门,项目组和个人空间复用成员所属部门的授权。若项目组管理员部门变更,项目组可用模型列表立即切换。进行中的会话不受影响,新对话使用新模型列表。
模型选择器来源标注:在不同 scope 下会标注当前可用模型的来源,如「由你所在部门授权」、「由项目组管理员(XX部门)授权」。
模型状态变更通知:发生模型移除、停用、授权变更时,系统会通知相关的部门管理员和成员,并建议替代模型。
用户在问答时上传的临时文件、图片,不进入部门或项目组知识库,而是存入用户个人空间,并做长期向量化参与个人检索。
用户提问 + 上传附件(图片/文件) │ ▼ 判断附件类型与所选模型能力 ├─ 支持多模态 → 直接将附件内容发给模型 ├─ 不支持但为文档 → 提取文本,拼入 prompt └─ 不支持且为图片 → 提示切换多模态模型 │ ▼ 同时进行知识库检索(部门/项目组知识 + 个人空间知识) │ ▼ 组装上下文:检索结果 + 附件内容 + 用户问题 │ ▼ 调用多模态大模型生成回答 │ ▼ 返回回答 + 知识库来源引用 + 附件处理说明
管理员进入后一眼看清知识库健康状态,包括:文档总量与新增趋势、待审核数(红色提醒)、解析失败数、热门问答、低质文档提醒、授权到期提醒、存储使用率等。
输入测试问题,系统展示召回了哪些知识片段、相似度分数和最终回答,用于诊断检索问题。
输入自然语言查询,系统展示意图识别结果、生成的 SQL、执行结果和最终回答,用于诊断 NL2SQL 问题。
系统中各类通知统一收口,确保用户不遗漏重要信息。
系统需对外开放知识库问答能力,外部系统(如客服、机器人、门户)可通过 API 接入,按指定部门/范围进行检索与问答,无需登录系统界面。
设计原则:对外接口只读不写,仅提供检索与问答能力;检索范围严格受 API Key 授权范围限定。v1 版本仅支持文档知识库问答与检索,不支持 NL2SQL 问数。
接口版本管理:所有接口路径包含版本号(如 /api/v1/qa),旧版本保留至少6个月过渡期,旧版本仅做安全修复。接口返回结果中包含 api_version 字段。
/api/v1/qa
api_version
请求参数:
question
dept
project
scope_id
business_type
top_k
include_source
返回结果包含 answer(回答)、sources(来源引用)、confidence(置信度)、request_id(追溯ID)。
answer
sources
confidence
request_id
与问答接口不同,不做大模型生成,仅返回匹配的文档片段。请求参数与问答接口类似,返回 fragments(匹配片段列表)、total(匹配总数)、request_id。
fragments
total
Authorization: Bearer <api_key>
系统存在两条并行处理链路:文档知识链路与数据问数链路。文档链路同时服务于部门、项目组和个人空间,通过 scope 标签区分。
知识录入(文件/文字) │ ▼ 审核检查(根据开关) ├─ 关闭 → 直接进入下一步 └─ 开启 → 待审核(通过/驳回) │ ▼ 内容提取(按文件类型提取文本、表格、OCR等) │ ▼ 内容分块(按语义/行/页分块) │ ▼ 向量化与入库(携带 scope + dept_path/project_id/user_id + business_type 标签) │ ▼ 可被检索问答(按 scope + 层级 + 业务类型过滤)
接入数据源 → 自动解析表结构(Schema 画像) → 补充业务语义(人工标注) → 可被自然语言查询
用户提问后,系统根据加载的 Schema 画像,完成 生成 SQL → 安全校验 → 执行 → 结果转自然语言的全过程。
dept_path
示例:
集团(path: /集团) ├─ 技术中心(path: /集团/技术中心) │ ├─ 研发部(path: /集团/技术中心/研发部) │ └─ 测试部(path: /集团/技术中心/测试部) └─ 市场部(path: /集团/市场部)
dept_path=研发部
project_id ∈ 张三项目组
user_id=U001
dept_path 前缀匹配 /集团/技术中心
dept_path 前缀匹配 /集团
核心规则:部门知识按层级继承,项目组知识按成员身份精确匹配,个人空间仅本人可见,三者正交独立。
系统从知识存储、层级继承、项目组/个人空间隔离、数据源、问数权限、对话历史、审计日志、文档向量、并发控制、会话管理、数据导出、对外接口等多个维度,进行了全面细致的隔离与安全设计。
全局最高权限,管配置,不直接编辑知识库内容。能力涵盖部门与用户管理、模型配置与授权、数据源查看、项目组查看、业务类型管理、对外接口管理、全局监控与运维、审计日志查看导出,以及通过“模拟用户”体验问答等。
部门知识库的管理者,管理本及下级部门的知识。能力包括知识上传与审核、文档管理与权限设置、数据源接入与Schema标注、运维体检、成员管理等。
日常使用者,负责贡献与消费知识。可提交知识、查看审核状态;进行知识问答、问数、多模态对话;管理个人空间、对话历史和收藏;参与项目组协作。
跨部门项目组的管理者,管理项目全生命周期。可管理成员与知识库、审核项目组知识、引用/授权部门知识、管理项目组生命周期(含解散处置)等。
被抽调的协作成员,在项目组范围内提交知识、参与问答,其权限为“部门成员”职能在项目组维度的增量。
各角色的功能权限在详细的对照总表中一目了然,规划清晰。
为确保长期运营,内容治理相关规划包括:
去重、时效与版本管理。
失效下线与文档活跃度治理(>180天低质文档下线)。
向量膨胀全局治理:覆盖部门、项目组和个人空间。
质量反馈闭环:定期复盘 👎 反馈,定位是检索问题还是答案问题。
意图识别优化闭环:利用用户手动切换链路的反馈优化意图识别模型。
Schema 与语义标注治理:同步数据库结构变更,持续推进字段语义标注覆盖率。
问数错误闭环:记录 Bad Case 补充进示例库。
项目组与授权生命周期治理:监控不活跃项目组和即将到期的授权。
模型成本与状态治理:监控成本并实时通知状态变更。
scope 标签一致性校验。
审核积压与效率治理。
孤儿向量与数据导出管控治理。
审计日志异常告警。
十二层有机结合,共同构成一个可长期运营、部门自治、跨部门协同、多模态智能、层级有序、安全合规、能力开放的多部门知识库与问数系统。
访问 云栈社区 与更多开发者交流技术方案和架构设计。
收藏0回复 显示全部楼层 举报
发表回复 回帖后跳转到最后一页
手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )
GMT+8, 2026-7-12 05:32 , Processed in 0.707815 second(s), 41 queries , Gzip On.
Powered by Discuz! X3.5
© 2025-2026 云栈社区.