设计一个企业知识库问答系统,要求权限隔离、引用来源、文档更新后增量生效。你怎么做?
考察点:考 RAG 是否能从 demo 讲成生产系统。
7+ 分回答骨架:接入时解析 PDF/网页/表格,保留标题、层级、source_url、version、ACL、updated_at。chunk 按结构和语义切,写 embedding、sparse tokens、metadata。查询时先按 tenant/ACL/time filter,再 dense+sparse hybrid retrieval,rerank 后 context packing。答案必须带 citation,证据不足 no-answer。文档更新触发 affected chunks 重建,保留版本支持回放。
继续追问会衍生:衍生知识点:ACL filter、hybrid retrieval、rerank、citation、incremental indexing。
知识展开
| 概念 | 是什么 | 工程落点 | 面试表达 / 常见坑 |
|---|---|---|---|
| ACL filter | ACL filter 是按用户、租户、角色、文档权限过滤可检索范围,防止越权证据进入候选。 | 在检索前或检索阶段用 metadata filter、分区索引或 row-level security 执行。 | 面试表达:权限过滤必须早于上下文构建,不能让模型事后判断能不能看。 |
| hybrid retrieval | hybrid retrieval 结合 dense 语义召回和 sparse 关键词召回,兼顾语义问题和精确实体。 | 查询时同时生成向量和关键词信号,再融合或 rerank。 | 常见坑是只用 embedding,遇到编号、专有名词、错误码时召回很差。 |
| citation | citation 是答案与证据片段的可追溯绑定,不是随便列几个来源。 | context packing 保留 chunk_id/source_url/page/section,生成时要求关键结论绑定引用。 | 强回答要说明 citation accuracy 要评测:引用必须支持对应句子。 |