夜雨聆风学习资料网

ARTICLE · 1298292

RAG面试怎么答?沿着一份文档,把整个流程讲清楚

RAG面试怎么答?沿着一份文档,把整个流程讲清楚

“先检索,再生成。”

这句话可以概括 RAG,却很难支撑一次完整的技术面试。

如果继续追问:

文档怎么处理?为什么这样切分?检索结果怎么筛选?效果如何评估?

答案就需要落到具体流程。

我们用一个假设场景来展开:给企业内部的产品文档,搭建一个问答助手。

一、文档拿到手,先检查解析质量

一份 PDF 看起来排版正常,提取出来的文本却可能存在标题丢失、表格错位、阅读顺序混乱等问题。

因此,入库之前,应抽样核对解析结果。

同时,保留文档来源、所属章节、版本和更新时间等元数据。

这些信息有助于后续定位出处、过滤旧版本和解释答案。

如果原始内容已经损坏,后面更换检索模型,也很难补回缺失的信息。

二、切分文档,要保留完整语义

检索系统需要从大量材料中找出与问题相关的部分。

切分,就是决定以什么内容单元参与检索。

块太短,可能只留下结论,丢掉适用条件;块太长,可能把多个主题混在一起。

例如:

“该方案支持免费升级。”

如果对应的产品型号、购买时间和限制条件被切到其他地方,单独召回这句话,就容易产生误解。

因此,切分策略应该结合文档结构验证。

章节标题、列表和表格,都值得单独检查。

对于脱离原文后难以理解的片段,也可以补充必要上下文。

Anthropic 的 Contextual Retrieval,就探索了在切块中加入说明性上下文的做法。

三、检索方式,要结合查询类型选择

向量检索是不是一定优于关键词检索?

需要看用户在问什么。

用户用口语描述需求时,语义检索可能更容易找到表达不同、含义相关的内容。

而产品型号、错误代码、专有名词等信息,通常需要精确匹配。

一个值得验证的方案是:

同时保留关键词检索和向量检索,再对候选结果进行融合。

面试时,可以进一步解释:

你的查询有哪些类型?

单一路径漏掉了什么?

怎样通过测试判断融合是否有效?

这些细节,比只说“使用混合检索”更有说服力。

四、召回之后,为什么还需要筛选?

初步召回解决的是:

从大量材料中,较快地找出一批候选内容。

重排进一步判断:

这些候选里,哪些更值得放进最终上下文。

可以把它理解为:先扩大候选范围,再进行更细的筛选。

不过,重排也会增加耗时。

因此,需要同时观察答案质量、延迟和成本,判断这一步是否值得保留。

五、生成回答时,要明确证据规则

材料放进提示词,并不代表任务已经完成。

还需要明确回答规则,例如:

优先依据提供的资料回答。

涉及条件时保留条件。

没有足够证据时说明缺失信息。

引用具体来源。

这些规则有助于约束输出,但不能替代质量检查。

尤其要区分两件事:

答案有没有引用?

引用内容是否真正支持答案?

出现了链接,并不代表结论已经得到证明。

六、评估效果,要把检索与回答分开看

检索阶段可以检查:

需要的资料有没有被找出来?是否排在足够靠前的位置?

回答阶段可以检查:

结论是否正确?是否完整回应问题?是否忠实于提供的证据?

此外,还要补上工程指标,例如响应时间、调用成本和失败率。

测试题也应覆盖不同情况:

资料中明确存在答案。

需要跨文档归纳。

用户提供的条件不完整。

知识库没有覆盖答案。

如果只测试“文档里恰好有一句原话”的问题,很容易高估系统能力。

面试时,可以这样组织项目介绍

“我们要解决的是某类用户在某个场景下的信息查询问题。

文档经过解析、清洗和切分后入库。查询时进行召回、筛选和上下文组织,再由模型生成带来源的回答。

最后通过固定测试集,分别检查检索效果、回答质量和服务成本。”

这段结构只是起点。

接下来,要填入你实际做过的技术选择、失败案例和实验结果。

为什么这样切分?为什么保留重排?哪类问题仍然答不好?

当这些问题都能继续展开,一个 RAG 项目才算讲得具体。

参考资料

Anthropic|Contextual Retrieval

AI大模型学习路线

因篇幅有限,本文仅展示部分编程与 AI 学习资料;点击文章底部名片,或关注后回复“111”,即可获取完整资料。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料