一、选择题答案
第1题:B
temperature 参数控制输出的随机性。值越高输出越随机多样,值越低输出越确定。
第2题:B 当 temperature 趋近于 0 时,softmax 函数使概率集中在最高 logit 的 token 上,输出几乎确定性地选择概率最高的 token。公式:$P(x_i) = \frac{e^{z_i / T}}{\sum_j e^{z_j / T}}$,当 $T \to 0$ 时分布趋向 one-hot。
第3题:D
Function Call 的函数执行结果以 role: "tool" 的消息返回给模型,同时需要携带对应的 tool_call_id。
第4题:B 余弦相似度的值域是 [-1, 1]。1 表示完全相同方向(最相似),0 表示正交(不相关),-1 表示完全相反。
第5题:B 语义分块通过计算相邻句子的嵌入向量余弦相似度,在相似度骤降的位置(说明话题切换)设置断点来分块。
第6题:B
上下文增强检索的核心思想是检索最相关块的同时,返回其前后相邻的块(由 context_size 参数控制),以提供更完整的上下文信息。
第7题:C 为文本块生成问题的目的是:用户的提问方式可能与原文表述差异很大,生成的问题更接近用户的提问方式,通过问题匹配可以间接找到答案所在的文本块。
第8题:C 后退提示的策略是将具体查询改写为更宽泛、更通用的问题,以便检索到相关的背景信息和更广泛的上下文。例如"中国政府在AI上有哪些政策"→“各国政府在AI领域通常制定哪些类型的政策”。
第9题:B BM25 是基于词频和逆文档频率的关键词匹配算法,擅长精确匹配特定关键词、专有名词和缩写,弥补向量语义搜索在精确匹配上的不足。
第10题:B HyDE 的核心思路是:先让 LLM 对用户查询生成一个假设性回答文档,然后用这个假设文档的嵌入向量去检索真实文档。因为假设文档比短查询包含更丰富的语义信息,其嵌入与真实文档在向量空间中更接近。
二、简答题答案
第11题:RAG系统的核心流程
- 文档预处理:从数据源(PDF、网页等)提取文本内容
- 文本分块:将文本切分为适当大小的块(考虑重叠)
- 向量化:使用嵌入模型将文本块转换为高维向量,存入向量数据库
- 检索:将用户查询向量化,通过余弦相似度在向量库中找到最相关的文本块
- 生成:将检索到的文本块作为上下文,连同用户问题一起送入LLM,生成最终回答
第12题:百分位法断点检测
百分位法的工作原理:
- 计算所有相邻句子对之间的余弦相似度
- 找到这些相似度值的第X百分位(如第90百分位)作为阈值
- 所有相似度低于该阈值的位置被标记为断点
- 在断点处切分文本,形成语义块
例如,threshold=90 表示只有相似度最低的10%的位置会成为断点。这意味着只在语义变化最明显的地方分块。
第13题:Self-RAG的自我评估环节
Self-RAG 增加了四个自我评估环节:
- 检索必要性判断(determine_if_retrieval_needed):判断当前查询是否需要外部检索,简单问题可直接回答
- 相关性评估(evaluate_relevance):评估检索到的文档是否与查询相关,过滤掉不相关文档
- 支撑度评估(assess_support):评估生成的回复是否被检索文档支撑,分为"完全支撑"“部分支撑"“无支撑"三级
- 效用评估(rate_utility):对最终回复的整体质量打分(1-5分),选择得分最高的回复
这四个环节确保了从"是否检索"到"最终回复"全链路的质量控制。
第14题:CRAG三级相关性处理策略
CRAG 根据文档与查询的相关性评分(0-1分)分三级处理:
- 高相关性(≥0.7):直接使用检索到的文档作为上下文,生成回复。文档质量高,无需额外处理。
- 中等相关性(0.3-0.7):对检索文档进行知识精炼(提取相关部分),同时发起网络搜索补充信息,两者结合作为上下文。
- 低相关性(<0.3):放弃检索结果,完全转向网络搜索获取信息。说明知识库中没有相关内容。
这种设计的核心是"自我纠正”——当知识库不够用时,主动寻求外部信息补充。
第15题:Graph RAG vs 普通向量检索RAG
根本区别:
- 普通向量检索RAG基于语义相似度,将文本块嵌入向量空间,通过余弦相似度找到与查询最接近的块
- Graph RAG基于知识图谱,提取文档中的概念和关系构建图结构,通过图遍历找到相关信息
Graph RAG更有优势的场景:
- 多跳推理:需要连接多个概念才能回答的问题(如"A的导师的研究方向是什么”)
- 关系密集文档:法律条文、医学文献等概念间关系复杂的文档
- 因果推理:需要理解"A导致B"“B影响C"等因果链的查询
- 实体关系查询:如"列出所有与X相关的概念”
第16题:分层检索RAG的两级索引
两级索引:
- 摘要级索引:存储每页/每章的LLM生成摘要及其嵌入,提供宏观概览
- 详细级索引:存储原始文本块及其嵌入,包含具体细节
设计优势:
- 减少噪声:先在摘要中定位相关章节,避免在大量细节块中误匹配
- 提高效率:缩小搜索范围,第二级只在相关章节的块中搜索
- 语义层次:摘要捕获高层主题,详细块提供具体答案,两者互补
- 类似人类阅读习惯:先看目录/摘要定位章节,再精读具体段落
第17题:上下文压缩的三种类型
- Selective(选择型):保留文本中与查询直接相关的原始句子,删除无关句子。适合需要精确引用原文的场景(如法律、合规场景)。
- Summary(摘要型):将文本中与查询相关的内容浓缩为2-3句摘要。适合需要概览性回答的场景。
- Extraction(提取型):从文本中提取与查询相关的关键事实和数据点。适合需要结构化信息的场景(如数据报告、统计数字)。
实验显示这三种方法可实现72%-89%的压缩率,大幅减少token消耗。
第18题:Few-shot示例选择的三个原则
- 覆盖所有输出类别:示例应包含每种预期输出的样本。例如情感分析应包含"正面"“负面"“中性"的示例,确保模型了解所有可能的输出。
- 简短明确,避免模糊边界:每个示例的输入-输出映射应清晰无歧义,不让模型困惑于边界情况。
- 数量适中(通常3-5个):过少可能不足以让模型推断规则,过多会占用上下文窗口且可能引入矛盾。3-5个示例通常是最佳平衡点。
第19题:RL增强RAG中的state、action、reward
- State(状态):当前查询 + 已有上下文 + 操作历史。反映了RAG管道在某一时刻的完整状态。
- Action(动作):可选的操作,包括:
rewrite_query(重写查询)、expand_context(扩展上下文)、filter_context(过滤上下文)、generate_response(生成回复)。策略网络在每步选择一个动作。 - Reward(奖励):生成的回复与参考答案之间的余弦相似度。回复质量越高,奖励越大。用于指导策略网络学习选择更优的动作序列。
策略网络使用epsilon-greedy策略:以epsilon概率随机探索新动作,以(1-epsilon)概率选择当前认为最优的动作。
第20题:三种查询转换技术的适用场景比较
| 技术 | 策略 | 适用场景 |
|---|---|---|
| 查询重写 | 将查询改写得更具体、更详细 | 用户查询过于模糊或简短时。例如"AI政策”→“2024年中国政府在人工智能领域的研发、伦理、产业政策” |
| 后退提示 | 生成更宽泛的查询 | 需要背景知识才能理解的查询。例如"GPT-4的注意力机制改进”→“Transformer注意力机制的发展历程” |
| 子查询分解 | 拆解为多个简单子问题 | 复合型复杂查询,涉及多个方面。例如"中国AI政策"→拆为发展战略、研发支持、伦理监管、行业应用四个子问题 |