知识库项目架构
《企业知识库问答项目:技术架构图讲解稿》
面试实战用法
这一篇专门解决“请你讲讲系统架构”这类问题。
建议按“30 秒总起手 -> 2 分钟全链路 -> 1 分钟追问补充”三段来练。
这个版本专门用于面试场景,回答以下高频问题:
- “你画一下这个系统架构”
- “你讲讲整体技术方案”
- “用户请求进来后链路怎么走”
- “离线入库和在线问答分别怎么设计”
演讲顺序建议
- 先讲分层(五层模型)。
- 再讲两条链路(离线入库 + 在线问答)。
- 最后讲工程化能力(权限、安全、监控、降级)。
一、开场总起手(30秒)
当面试官让你讲架构时,可以先这样说:
我把这个知识库问答系统分成五层:接入层、应用服务层、知识处理层、模型能力层、存储与治理层。
再从两条核心链路展开:离线知识入库链路和在线问答链路。
这样既能看清功能分层,也能看清请求流转路径。
二、整体技术架构图
三、整体架构讲解(1~2分钟)
这个系统的目标是把企业内部非结构化文档加工成可检索知识,并通过 RAG 方式为用户提供有依据的问答。
从分层上看:
- 接入层:API 网关统一做鉴权、限流、日志追踪。
- 应用服务层:分为文档管理服务和在线问答服务。
- 知识处理层:包括文档解析、清洗、chunk 切分、embedding、检索、rerank。
- 模型能力层:封装 LLM、Embedding、Rerank 等模型能力。
- 存储治理层:对象存储、关系型数据库、向量数据库、Redis,加上监控告警、审计、重试熔断等治理能力。
核心思想是:离线把知识处理好,在线先检索证据再生成答案,避免模型无依据回答。
四、离线入库链路(重点讲“工程化”)
离线入库流程图
讲解稿(可直接说)
离线链路主要负责“把文档变成可检索知识”。
用户上传文档后,原始文件先落对象存储,文档元信息(知识库ID、上传人、权限标签、处理状态)写入 MySQL。
然后通过 MQ 或异步任务触发后台流水线:文档解析 → 文本清洗 → chunk 切分 → embedding 向量化 → 写入向量库。
同时把 chunk 的元数据(文档ID、段落位置、标题路径、权限标签)写回数据库。
最后更新处理状态并记录日志,支持失败重试和可观测追踪。这么设计的原因是:解析和向量化都比较耗时,异步化能保证上传接口响应快,也方便批处理和重试。
五、在线问答链路(最核心)
在线问答流程图
讲解稿(可直接说)
在线链路是“先检索,后生成”。
用户提问进入问答服务后,先做 query 预处理和必要改写,再做向量检索召回 topK 候选 chunk。
召回结果经过 rerank 精排和证据筛选;如果证据不足,系统拒答或引导补充问题;证据充足再进入大模型生成。
生成阶段会把用户问题、检索证据、输出约束拼到 Prompt 中,要求模型基于证据回答并输出引用。
回答出来后还要做后处理,比如 JSON 校验、引用整理、敏感词过滤、格式修复,再返回前端。这条链路的关键是:把大模型变成“基于证据回答”的组件,而不是直接自由发挥。
六、存储设计怎么讲(高频追问)
存储分三层:
- 对象存储:保存原始文档和附件。
- 关系型数据库:保存文档元数据、知识库配置、权限标签、任务状态、问答记录、审计日志。
- 向量数据库:保存 chunk 向量和检索元信息,用于语义召回。
同时配合 Redis 做热点缓存(FAQ、会话状态、检索结果缓存),降低重复计算和模型调用成本。
七、权限与安全怎么讲(企业场景加分项)
企业知识库里,权限不能只做在“下载文档”层,必须做在“检索召回”层。
所以我们在入库时就给 chunk 打权限标签(租户、部门、角色、密级等),在线检索时强制做权限过滤,只召回用户可见内容。
同时记录敏感操作日志,支持审计、脱敏和必要的人工复核。
八、监控治理怎么讲(体现工程成熟度)
AI系统上线后,核心不只是功能可用,还要可观测、可排障、可降级。
监控指标通常包括:
- 模型调用成功率、超时率、首Token时延、总时延
- 检索命中率、证据不足率、拒答率
- 结果格式错误率(如 JSON 解析失败)
- 线上 badcase 分布
配合链路日志记录 query 改写前后、召回内容、rerank 分数、最终上下文和模型输出,便于快速定位问题。
同时配置缓存、重试、熔断、降级,保证高峰期稳定性。
九、面试收尾金句(建议背)
这个架构的重点不是“把大模型API接进来”,而是围绕知识加工、证据检索、生成约束、权限控制和稳定性治理做完整工程化设计。
只有这样,系统才能从 demo 变成可上线、可运营的企业知识服务。
十、1分钟极简背诵版
我把这个系统分为五层:接入层、应用服务层、知识处理层、模型能力层、存储治理层。
两条主链路:离线入库和在线问答。
离线是文档上传后异步解析、清洗、chunk 切分、embedding 向量化并入向量库;在线是提问后 query 处理、向量召回、rerank 精排、证据筛选、Prompt 组装、LLM 生成和后处理返回。
底层由对象存储、MySQL、向量库、Redis支撑,并通过权限过滤、日志监控、重试熔断保障可控和稳定。
核心目标是“基于证据回答”,降低幻觉,提高企业场景可用性。
