首页 / 文章

30道关于RAG与向量数据库的面试问题及简明答案

30道关于RAG与向量数据库的面试问题及简短答案:混合检索、HNSW与IVF的对比、分块处理、重排序、评估指标以及多租户安全问题。

发布者:REACTAPP.TOP阅读约 10 分钟2409 词

来源: Top 30 RAG and Vector Database Interview Questions and Answers — 2026

在团队面试涉及检索增强生成和向量搜索的职位时,这三十个问题会反复出现。这些答案是以优秀候选人可能给出的方式撰写的:简短明了,同时说明了权衡因素及衡量标准。

基础知识

1. 用一句话解释什么是RAG?

这是一种机制,系统在接收到问题时会从外部知识源获取相关证据,并在模型生成任何内容之前将其呈现给模型。典型的处理流程包括查询处理、检索、重排序、上下文构建、内容生成以及最终验证。它使组织能够在无需重新训练模型的情况下使用私有的、最新的且可引用的资料。不过,检索并不能保证内容的真实性,因此仍需对依据、引用、权限以及答案质量进行核查。

2. 什么情况下使用RAG比较合适?

当答案依赖于机密文档、频繁变化的信息、大量数据集、可追溯的证据,或是针对不同用户和租户的访问规则时,应使用此方法。对于用户已粘贴的文本进行总结、进行精确计算、改变写作风格,或是处理API或数据库可直接返回的实时结构化数据,通常无需使用此方法。

3. RAG、微调与长上下文提示有何不同?

RAG在推理时提供知识支持;微调则改变模型所学的行为模式;长上下文提示则是将更多源文本直接纳入提示词中。

  • 如果知识会变化、属于机密内容或需要标注出处,可选择RAG。
  • 如果需要调整行为、语气、格式或处理特定任务,可选择微调。
  • 如果语料库规模合适且任务需要对比所有内容,可选择长上下文提示。
  • 选择用于实时交易数据的工具或API。
  • 它们能够很好地结合使用:经过优化的模型可以通过RAG获取政策文件,再通过API调用查询实时账户数据。

    4. 向量数据库与RAG系统是同一回事吗?

    不是,向量数据库只是其中一个组成部分。它负责存储嵌入向量、回答相似性查询、根据元数据进行过滤以及处理索引维护。一个可用的生产系统还需要更多功能:文档解析、分块处理、访问控制、混合检索、重排序、提示词组装、内容生成、引用管理、评估、监控以及数据删除处理。当RAG系统表现不佳时,原因往往在于数据集准备不充分或缺乏评估,而非数据库选择不当。

    5. 密集检索、词汇检索和稀疏检索有何区别?

    密集检索通过比较嵌入向量来处理同义表达和概念,但可能无法识别精确的标识符。像BM25这样的词汇检索依据词的频率和稀有度进行评分,因此在处理名称、产品代码、错误信息及专业术语时表现优异。而像SPLADE这样的稀疏神经网络检索则在保持倒排索引的同时学习词项扩展。一个强大的生产环境基线通常会将词汇检索与密集检索的结果相结合。

    6. 为何要在语义搜索系统中保留BM25?

    它在处理精确词汇、稀有术语、缩写、错误代码、法律引用以及产品标识符方面表现极佳,而这些往往是嵌入向量难以准确表示的。此外,BM25的成本较低且操作透明。由于这两种方法在不同查询上的表现往往存在差异,将它们结合起来通常可以提高检索覆盖率。

    7. 双编码器与交叉编码器?

    双编码器会分别对查询和每份文档进行嵌入,这样就可以提前计算出文档向量,并在数百万条记录中快速检索。而交叉编码器则同时读取查询和文档,虽然能更准确地评估相关性,但需要对每个候选项进行单独处理。标准设计是使用双编码器来实现较高的召回率,再通过交叉编码器进行重排序以提高精确度。

    8. 余弦值、点积还是欧几里得距离?

    余弦值用于比较向量之间的夹角,点积则考虑向量的对齐程度和大小,而欧几里得距离用于衡量直线距离。当嵌入向量经过L2标准化后,余弦值和点积的排序结果是一致的。应遵循嵌入模型的训练目标及模型说明文档,因为不匹配的度量标准会显著影响检索效果。

    向量搜索与检索

    9. 什么是近似最近邻搜索?

    ANN无需与所有存储的向量进行比较,即可找到与查询最接近的向量。这种方式能在大规模应用中降低延迟和成本,但也可能遗漏一些真正的相近向量,因此需通过精确搜索来评估召回率。其核心权衡在于速度与成本,以及可能带来的召回率损失。

    10. 平面索引、HNSW、IVF和量化技术有何差异?

    • 平面索引:会与所有向量进行比较,结果精确,但大规模应用时成本较高。
    • HNSW:通过可导航的图结构实现高召回率和低延迟,但需要额外内存。
    • IVF:将向量分组到质心分区中,仅搜索其中部分分区;增加nprobe值可提升召回率,但会增加延迟。
    • 乘积量化或标量量化:通过压缩向量来节省内存和存储空间,但会带来可测量的精度损失。

    可根据语料库大小、筛选条件、内存容量、更新模式、并发能力以及所需的召回率来选择。

    11. 什么是混合搜索?为何要使用它?

    它将密集型结果与词汇型或稀疏型结果相结合。语义匹配来自嵌入模型,而精确的术语匹配则来自关键词,随后通过互反排名融合、加权分数融合或归一化分数融合的方式将这两类结果列表合并。对于那些同时包含普通语言概念、案件编号、政策代码、部件编号以及错误信息的企业数据而言,这种方法的优势最为显著。

    12. 什么是互反排名融合?

    RRF通过位置而非原始分数来合并排序列表。每份文档在每个列表中都会获得1除以(k加上其排名)的值,这些值会被相加。由于密集度得分与词汇得分处于不同的量级,直接相加是不可靠的。RRF避免了校准过程,同时会优先考虑被多个检索器列为高排名的文档。

    13. 为何要重新排序?

    第一阶段的检索器注重速度与召回率,因此其候选列表中会包含一些匹配度较低的条目。重新排序器会对有限的候选集应用更精确的模型,将最有力的证据提升到顶部,从而提高上下文精度,并让生成器无需处理无关文本。需根据召回率@k、重新排序器的延迟、成本以及在不同类型查询上的表现来调整候选项数量。

    14. 最大边际相关性起什么作用?

    MMR在选择段落时会在相关性与冗余性之间取得平衡:大致而言,就是用lambda加权后的相关性得分减去lambda乘以与已选内容相似度的值。如果没有这一机制,系统可能会从一个部分返回多个几乎重复的段落。它在结果重复时能提升覆盖率,但多样性过高则会导致相关段落减少。

    15. 为什么元数据过滤器会降低ANN的质量?

    如果先进行ANN搜索,然后再应用过滤条件,许多顶级候选项可能会因为属于错误的租户、产品、日期范围或文档版本而被丢弃,从而导致返回的结果少于预期数量。解决办法包括集成式或预过滤搜索、元数据索引、对候选项进行过采样、按租户划分数据、迭代搜索,以及针对高度选择性过滤条件采用精确搜索。授权过滤条件必须作为可信的检索约束来执行,而不能仅作为临时指令处理。

    数据准备

    16. 如何选择分块策略?

    应通过实验来确定最佳方案,需结合文档结构及人们的查询方式。过小的分块虽能实现精确匹配,但会丢失上下文;而过大的分块虽然能保留上下文,却会稀释嵌入向量、增加计算成本,并掩盖关键证据。可选的分块方式包括固定词元分块、递归分块、结构感知分块、语义分块、句子窗口分块以及父子分块。需针对不同文档类型,从检索召回率、边界是否会导致语义割裂、重复内容、上下文规模以及最终答案的质量等方面对这几种分块方式进行比较。

    17. 什么是父子检索?

    较小的子分块会被索引以实现精确匹配,而模型则接收较大的父分块。如果某项政策中的某一段内容匹配成功,系统会返回其周围的定义、例外情况及相关条件等完整内容。只要对扩展内容的范围加以限制,避免填满上下文窗口,就能在精确度与完整性之间取得平衡。

    18. 什么是上下文检索与延迟分块?

    上下文检索会在嵌入之前,为每个分块添加文档特定的上下文信息,如标题、章节路径或简短说明。延迟分块则先对文档的较长段落进行编码,再将这些标记表示整合为分块嵌入,从而使局部分块能够保留更广泛文本中的信息。这两种方法都有助于处理含义模糊的分块,但会增加处理复杂性,因此需通过更简单的基准方法对其效果进行验证。

    19. 一个完善的文档处理流程包含哪些内容?

    1. 收集文档,并记录其所有权、分类、访问控制规则及保留期限。
    2. 解析文本、标题、表格、页面结构及布局。
    3. 去除OCR产生的噪声以及重复的固定内容。
    4. 按结构划分分块。
    5. 附加元数据、来源信息及父子链接。
  • 生成密集嵌入向量与稀疏表示。
  • 使用确定性标识符进行插入或更新操作。
  • 验证数量、校验和、访问控制列表、删除操作以及检索测试用例。
  • 对解析器、分块工具、嵌入模型及索引生成过程进行版本控制。
  • 它还必须能够处理更新、重新处理、回滚以及经过验证的删除操作。

    20. 如何处理结构复杂的PDF和表格?

    使用具备布局感知功能的工具来解析原生数字PDF,这样标题、列、阅读顺序、字幕、表格和页码才能保持关联。扫描件则需要带有置信度评分的OCR技术,有时还需要边界框或页面图像。需记录每张表格的表头、单位、标识信息、页面位置以及单元格坐标。对于数值计算问题,应获取表格结构并以确定性方式计算结果。通常,优化解析器的效果会比更换嵌入模型更好。

    高级模式

    21. 什么是查询重写、多查询检索和HyDE?

    查询重写是将模糊或口语化的问题转化为适合搜索的形式。多查询检索会生成多个变体并合并结果以提高查全率。HyDE则会撰写一个假设性答案并将其嵌入其中,以弥合问题与证据之间的差距。这三种方法都会增加延迟、成本、重复内容以及产生的假设,因此通常应保留原始查询。

    22. Self-RAG、CRAG、RAPTOR和GraphRAG有何不同?

    • Self-RAG:模型自行决定是否进行检索,并对检索到的内容进行加工处理。
    • CRAG:评估检索质量,并触发重写或更换数据源等修正措施。
    • RAPTOR:将文本块聚类为不同层级的摘要,从而使检索能够在不同细节程度上进行。
  • GraphRAG:将实体及其关系抽取为图结构,适用于需要在多文档间或整个语料库中查找答案的问题。
  • 仅当评估结果显示传统方法存在特定缺陷时才应使用这些技术。当涉及关系型问题或需覆盖整个语料库的问题无法通过混合检索与查询分解方法可靠解决时,才适合使用GraphRAG。

    23. 什么是代理型RAG?

    该模型会从一组受控的工具中选择用于检索和推理的手段:文档搜索、读取特定文件、SQL查询、API接口或知识图谱。实际应用版本需要类型明确、经过权限控制的工具,以及检索和令牌使用限额、步骤限制、停止与拒绝规则、各工具间的授权机制、完整的操作轨迹日志、可重复执行的测试,以及对关键操作的人为审批。评估时需对最终答案以及工具选择路径进行评分。

    评估与诊断

    24. 应先考虑哪个指标?

    候选项召回率@k:指在检索结果中包含所需证据的查询比例,计算方法为前k个结果中的相关项数除以所有相关项总数。如果缺乏相关证据,无论是重排器还是生成器都无法补充它。之后再用MRR或nDCG来评估排序效果,再考察上下文精确度、正确性、忠实度、引用质量、延迟以及成本。

    25. MRR与nDCG有何区别?

    平均倒数排名会在第一个相关结果的排名上取1,因此适用于只需一个优质段落即可的情况。nDCG则会对整个排序结果进行评分,并能体现不同相关性的差异,适合多个段落有用性各异的情形。若关注首次检索的结果表现,可使用MRR;若多个结果之间的顺序很重要,则应使用nDCG。

    26. 如何评估答案质量?

    需分别评估检索与生成环节的表现。对于检索部分,要关注Recall@k、Precision@k、MRR或nDCG指标,同时检查内容的正确性及版本新鲜度。对于生成部分,则要考察内容的正确性、与证据的契合度、完整性、引用支持情况、适当的拒绝处理能力以及是否符合相关政策。此外还需关注端到端延迟、成本、用户接受度以及高风险数据集的测试结果。

    27. 什么是oracle-context测试?

    跳过检索步骤,直接为生成模型提供已知正确的证据。如果该模型利用这些证据能给出良好答案,但在完整流程中仍失败,则需排查检索、过滤、重排序或上下文构建环节的问题。若依然失败,则需检查提示词、推理过程、生成内容或验证环节是否存在问题。这是区分检索故障与生成模型故障的最快捷方法之一。

    28. 如何诊断“忠实度高但正确度低”的情况?

    “准确”意味着答案与提供的上下文相符,而“错误”则意味着该上下文不完整、无关、过时或不足。比较顺序为:用于评估候选结果的黄金证据与这些候选结果本身,重新排序后的结果与最终上下文,最终生成的答案与基于权威上下文运行的结果,最后是原始版本、过滤规则以及存在冲突的文档。常见的问题原因包括召回率低、排序不佳、证据过时、缺少异常情况处理、上下文压缩过度或参考答案有误。

    大规模安全运行

    29. 如何保障多租户RAG系统的安全性?

    应从可信的认证机制中获取租户和用户身份,绝不能依赖用户输入。有效的控制措施包括数据存储层实施的ACL过滤器、针对租户的索引或分区划分、具备ACL感知功能的缓存、最小权限服务角色、加密与审计日志、跨租户隔离测试、输入注入检测、带有来源校验的功能允许列表,以及端到端的验证删除机制。由于文档可能包含恶意指令,因此应将获取的内容视为不可信的。

    30. 如何设计大规模平台?

    首先明确文档量、查询频率、租户数量、更新频率、删除服务级别协议、延迟时间、引用需求以及安全与质量目标。随后将设计分为多个层面:

    • 数据接入:连接器、解析、分块、数据增强、嵌入、索引构建、数据对齐以及删除操作。
    • 查询功能:身份认证、路由、混合检索、ACL过滤、数据融合、重排序、上下文整合、内容生成、验证以及拒绝处理。
    • 评估机制:带标签的数据集、离线实验、回归测试、人工审核以及发布控制机制。
    • 可观测性:每条请求的追踪信息、检索到的内容、提供服务的模型及索引版本,以及延迟、令牌使用情况、成本、数据新鲜度、质量指标和安全信号。
    • 控制功能:用户入驻管理、配置设置、配额控制、版本发布、模型选择以及策略管理。

    为提升系统弹性,可引入确定性标识符、基于别名的版本化索引、同时运行两个索引的迁移机制、断路器、受限工作负载、缓存、金丝雀发布、回滚功能以及明确的服务水平目标。只有当实际故障率达到一定基准时,才应考虑使用GraphRAG或智能检索技术。

    相关阅读

  • 无向量RAG:PageIndex如何在不使用嵌入模型的情况下读取文档 — 向量搜索会将长文档分割成多个片段,从而导致上下文丢失。通过代码示例了解基于推理的树形索引如何在复杂报告中找到答案。
  • M1 Mac上的私有多模态RAG:使用Ollama实现选择性图表读取 — 可离线搜索机密PDF文件:使用PyMuPDF处理文本和表格,搭配小型Qwen视觉模型专门处理图表,同时实现数字验证以及ChromaDB中的父子节点检索功能。
  • 基于文档树的推理而非向量搜索 — PageIndex构建了分层索引,让大语言模型能够直接在其中导航,从而无需进行分块处理和嵌入操作。其工作原理、在FinanceBench测试中的表现以及适用场景。