RAG 面试基本问题
Q1: 解释 RAG 系统的主要部分及其工作原理
RAG(检索增强生成)系统主要由两个核心组件构成:检索器(Retriever)和生成器(Generator)。
检索器负责从外部知识库中搜索并收集相关信息。这些来源可以是数据库、文档库或互联网资源。检索器的任务是根据用户查询,快速定位最相关的片段。
生成器通常是一个高级语言模型(LLM),它利用检索到的信息来创建清晰、准确的文本响应。生成器将检索内容与自身预训练知识相结合,从而产生比单纯依赖内部知识更高质量的回答。
两者协同工作,检索器确保信息的时效性和准确性,生成器负责自然语言的流畅表达,共同提供比单一 LLM 更可靠的响应。
Q2: 使用 RAG 而不是仅仅依赖 LLM 的内部知识的主要好处是什么?
仅依赖 LLM 内置知识存在明显局限:
- 知识截止:模型训练数据有截止时间,无法获取最新信息。
- 缺乏细节:通用模型可能缺乏特定领域的深度专业知识。
- 幻觉问题:模型容易编造事实,导致错误信息传播。
RAG 系统的优势在于:
- 实时性:通过接入外部数据源,能够回答最新发生的事件或更新的数据。
- 准确性:答案基于真实文档,显著减少幻觉现象。
- 可追溯性:引用来源明确,便于验证信息真伪。
这种方法在法律、医疗、金融等对准确性和时效性要求极高的领域尤为关键。
Q3: RAG 可以使用哪些类型的外部知识源?
RAG 系统支持多种结构化和非结构化数据源:
- 结构化源:包括关系型数据库、API 接口、知识图谱等。这类数据组织有序,易于通过 SQL 或图查询进行精确检索。
- 非结构化源:由大量文本组成,如 PDF 文档、网页内容、会议记录、档案资料等。处理此类数据通常需要自然语言理解技术进行分块和向量化。
这种灵活性使得 RAG 系统能够适应不同行业需求,例如从判例法数据库中检索法律条文,或从临床试验数据中提取医学结论。
Q4: Prompt 工程对于 RAG 来说重要吗?
提示词(Prompt)设计在 RAG 系统中至关重要,它直接影响模型对检索内容的利用效率。
- 系统提示词模板:明确的指令能约束模型行为。例如,使用'仅根据提供的上下文回答问题'而非简单的'回答问题',可大幅降低模型利用内部知识产生幻觉的概率。
- 少样本提示(Few-Shot):提供几个输入输出示例,帮助模型理解期望的响应格式和风格。
- 思维链提示(Chain-of-Thought):引导模型在生成最终答案前逐步推理,有助于处理复杂逻辑问题。
良好的 Prompt 设计是连接检索结果与高质量生成的桥梁。
Q5: 检索器在 RAG 系统中如何工作?常见的检索方法有哪些?
检索器是 RAG 的入口,其性能直接决定后续生成的质量。常见检索方法包括:
- 稀疏检索(Sparse Retrieval):基于关键词匹配,如 TF-IDF 或 BM25。优点是计算快、可解释性强,但难以捕捉语义关联,例如无法识别'汽车'与'轿车'的同义关系。
- 密集检索(Dense Retrieval):利用神经嵌入模型将文档和查询转换为向量。BERT、DPR 等方法将文本映射到共享向量空间,通过计算余弦相似度查找最接近的文档。这种方式能捕捉深层语义,适合复杂查询。
选择哪种方法取决于具体场景对精度和速度的权衡。
Q6: 将检索到的信息与 LLM 生成相结合面临哪些挑战?
融合检索内容与生成过程存在以下难点:
- 相关性干扰:如果检索到的文档包含噪声或与查询无关,会误导模型生成错误内容。
- 知识冲突:检索信息与模型内部知识不一致时,模型可能产生困惑或输出矛盾信息。


