RAG 分块时为什么要设置 chunk overlap(重叠),重叠过大有什么副作用?
RAG 分块时为什么要设置 chunk overlap(重叠),重叠过大有什么副作用? 本文先给出可直接复述的结论,再用最小代码说明RAG chunk overlap 重叠 副作用的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 68 页,收录第 3351–3400 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
RAG 分块时为什么要设置 chunk overlap(重叠),重叠过大有什么副作用? 本文先给出可直接复述的结论,再用最小代码说明RAG chunk overlap 重叠 副作用的工作方式、判断依据、项目边界和常见误区。
RAG 中如何确定文本分块(chunk)的大小,过大和过小分别会导致什么检索问题? 本文先给出可直接复述的结论,再用最小代码说明RAG chunk size 分块大小 权衡的工作方式、判断依据、项目边界和常见误区。
RAG 如何让生成答案带引用来源,上下文组装阶段需要给每个文档块附加什么信息? 本文先给出可直接复述的结论,再用最小代码说明RAG 引用来源 上下文标注的工作方式、判断依据、项目边界和常见误区。
父子分块或重叠分块的 RAG 系统在组装上下文时如何去重合并,避免同一内容重复占用 token? 本文先给出可直接复述的结论,再用最小代码说明RAG 上下文去重 合并 重叠 chunk的工作方式、判断依据、项目边界和常见误区。
RAG 组装上下文时如何在有限 token 预算内分配系统提示、历史对话和检索文档,超预算时应优先砍哪部分? 本文先给出可直接复述的结论,再用最小代码说明RAG 上下文窗口 token 预算 截断策略的工作方式、判断依据、项目边界和常见误区。
LangChain 的 ContextualCompressionRetriever 如何只保留文档中与问题相关的部分,它解决的是什么具体问题? 本文先给出可直接复述的结论,再用最小代码说明ContextualCompressionRetriever 上下文压缩的工作方式、判断依据、项目边界和常见误区。
RAG 系统选择嵌入(embedding)模型时应依据哪些维度,为什么嵌入模型换了必须重建索引? 本文先给出可直接复述的结论,再用最小代码说明RAG embedding 模型选择 重建索引原因的工作方式、判断依据、项目边界和常见误区。
RAG 为什么需要向量检索与关键词检索(BM25)混合,单靠向量检索在哪类查询上会系统性失败? 本文先给出可直接复述的结论,再用最小代码说明RAG 混合检索 必要性 失败场景的工作方式、判断依据、项目边界和常见误区。
RAG 中 HyDE(假设文档嵌入)检索的原理是什么,为什么它对短问题比长问题更有帮助? 本文先给出可直接复述的结论,再用最小代码说明RAG HyDE 假设文档 检索原理的工作方式、判断依据、项目边界和常见误区。
文档频繁更新的 RAG 系统如何做增量索引,如何避免删除文档的旧向量仍被召回? 本文先给出可直接复述的结论,再用最小代码说明RAG 增量索引 文档更新 删除旧向量的工作方式、判断依据、项目边界和常见误区。
RAG 处理 Markdown 或代码文档时为什么需要结构化感知分块,直接用字符切分会破坏什么? 本文先给出可直接复述的结论,再用最小代码说明RAG Markdown 代码 结构化分块 保结构的工作方式、判断依据、项目边界和常见误区。
RAG 检索前用元数据过滤(如租户、时间、文档类型)为什么应在向量搜索阶段下推而不是召回后再过滤? 本文先给出可直接复述的结论,再用最小代码说明RAG 元数据过滤 下推到向量搜索的工作方式、判断依据、项目边界和常见误区。
RAG 中最大边际相关性(MMR)检索如何解决 top-k 结果内容重复的问题? 本文先给出可直接复述的结论,再用最小代码说明RAG MMR 最大边际相关性 多样性的工作方式、判断依据、项目边界和常见误区。
LangChain 的 MultiQueryRetriever 通过生成多个查询变体提升召回,它的适用场景和成本代价是什么? 本文先给出可直接复述的结论,再用最小代码说明MultiQueryRetriever 多查询变体 提升召回的工作方式、判断依据、项目边界和常见误区。
多租户 RAG 系统如何利用元数据过滤保证租户间数据不串,仅靠 prompt 声明租户为什么不可靠? 本文先给出可直接复述的结论,再用最小代码说明RAG 多租户 数据隔离 metadata filter的工作方式、判断依据、项目边界和常见误区。
RAG 检索结果为空或全部低于阈值时系统应如何兜底,直接把所有问题交给 LLM 自由回答有什么风险? 本文先给出可直接复述的结论,再用最小代码说明RAG 无检索结果 兜底 幻觉风险的工作方式、判断依据、项目边界和常见误区。
RAG 检索质量差但定位发现源头在 PDF 解析阶段,乱码、栏序错乱会如何传导到分块与嵌入? 本文先给出可直接复述的结论,再用最小代码说明RAG PDF 解析 乱码 分栏 传导影响的工作方式、判断依据、项目边界和常见误区。
用户提问用词和文档措辞差异大导致 RAG 召回失败,除了换嵌入模型还有哪些检索侧手段? 本文先给出可直接复述的结论,再用最小代码说明RAG 词汇不匹配 查询文档措辞差异 召回手段的工作方式、判断依据、项目边界和常见误区。
RAG 中的查询改写(query rewriting)解决什么问题,为什么多轮对话里直接用用户原话检索会失败? 本文先给出可直接复述的结论,再用最小代码说明RAG 查询改写 多轮对话 指代消解的工作方式、判断依据、项目边界和常见误区。
LangChain 的 RecursiveCharacterTextSplitter 按什么优先级切分文本,为什么比固定长度切分更适合 RAG? 本文先给出可直接复述的结论,再用最小代码说明RecursiveCharacterTextSplitter 切分优先级 递归字符切分的工作方式、判断依据、项目边界和常见误区。
RAG 流水线中重排应放在召回之后、上下文组装之前,为什么先用大 top-k 召回再重排比直接小 k 检索效果好? 本文先给出可直接复述的结论,再用最小代码说明RAG 重排 流水线位置 为何先大 k 再重排的工作方式、判断依据、项目边界和常见误区。
RAG 已经有向量相似度排序了,为什么还需要重排(rerank)阶段,交叉编码器比双编码器强在哪? 本文先给出可直接复述的结论,再用最小代码说明RAG rerank 重排 交叉编码器 强于双编码器的工作方式、判断依据、项目边界和常见误区。
如何用检索级指标(recall@k、MRR)单独评估 RAG 的检索质量,而不是只看最终回答好不好? 本文先给出可直接复述的结论,再用最小代码说明RAG 检索评估 recall@k MRR的工作方式、判断依据、项目边界和常见误区。
RAG 中的语义分块(semantic chunking)是如何工作的,相比固定长度分块适合什么场景? 本文先给出可直接复述的结论,再用最小代码说明RAG 语义分块 原理 适合场景的工作方式、判断依据、项目边界和常见误区。
RAG 检索时设置相似度分数阈值有什么用,为什么不同嵌入模型间阈值不能直接复用? 本文先给出可直接复述的结论,再用最小代码说明RAG 相似度阈值 设置作用 不同模型不可复用的工作方式、判断依据、项目边界和常见误区。
RAG 中 step-back 提问(先生成更抽象的问题再检索)适合解决哪类具体查询检索不到背景知识的问题? 本文先给出可直接复述的结论,再用最小代码说明RAG step-back prompting 抽象化检索的工作方式、判断依据、项目边界和常见误区。
多跳问题(需要多份文档联合回答)在 RAG 中为什么要做子问题分解检索,单次检索失败的原因是什么? 本文先给出可直接复述的结论,再用最小代码说明RAG 多跳问题 子问题分解 检索的工作方式、判断依据、项目边界和常见误区。
包含大量表格的文档做 RAG 时应如何分块,为什么表格按字符切开会导致检索失败? 本文先给出可直接复述的结论,再用最小代码说明RAG 表格 分块策略 保持完整的工作方式、判断依据、项目边界和常见误区。
文档时效性强的 RAG 场景(如政策、新闻)如何在检索中处理时间衰减,避免旧文档压过新文档? 本文先给出可直接复述的结论,再用最小代码说明RAG 时间衰减 时效性 检索加权的工作方式、判断依据、项目边界和常见误区。
RAG 分块按 token 切分和按字符切分有什么本质区别,为什么生产上更推荐 token 切分? 本文先给出可直接复述的结论,再用最小代码说明RAG token 切分 与 字符切分 本质区别 生产推荐的工作方式、判断依据、项目边界和常见误区。
RAG 检索的 top-k 设多大合适,k 过大对 LLM 回答质量有什么负面影响? 本文先给出可直接复述的结论,再用最小代码说明RAG top-k 召回数量 调优 影响的工作方式、判断依据、项目边界和常见误区。
React 复选框用 checked 还是 defaultChecked,多选状态怎样保存? 本文先给出可直接复述的结论,再用最小代码说明React checkbox checked 和 defaultChecked 区别的工作方式、判断依据、项目边界和常见误区。
如何利用把 JSX 作为 children 传入的方式减少 React 组件间不必要的 props 传递? 本文先给出可直接复述的结论,再用最小代码说明React children 组合 减少 props 传递的工作方式、判断依据、项目边界和常见误区。
为什么不能把 React 的 children 当普通数组随意操作,官方提供了什么替代手段? 本文先给出可直接复述的结论,再用最小代码说明React children 不透明数据结构 Children API的工作方式、判断依据、项目边界和常见误区。
用 cloneElement 给 React 子组件偷偷注入 props 有什么隐患,更好的替代方案是什么? 本文先给出可直接复述的结论,再用最小代码说明React cloneElement 隐患 替代 组合 Context的工作方式、判断依据、项目边界和常见误区。
拿到设计稿后,怎样拆 React 组件并决定状态放在哪里? 本文先给出可直接复述的结论,再用最小代码说明React 组件拆分和状态归属设计的工作方式、判断依据、项目边界和常见误区。
什么是 React 的复合组件模式,为什么 Select/Option 这类组件适合用它设计? 本文先给出可直接复述的结论,再用最小代码说明React 复合组件 compound component Context的工作方式、判断依据、项目边界和常见误区。
给 React 组件设计配置接口时,传配置对象和用复合组件两种风格如何取舍? 本文先给出可直接复述的结论,再用最小代码说明React 组件 API 配置对象 复合组件 取舍的工作方式、判断依据、项目边界和常见误区。
React 条件渲染时同类组件的状态为什么会保留或丢失,和组件在树中的位置有什么关系? 本文先给出可直接复述的结论,再用最小代码说明React 条件渲染 状态保留 重置 位置的工作方式、判断依据、项目边界和常见误区。
开发组件库时,如何让一个 React 组件同时支持受控和非受控两种用法? 本文先给出可直接复述的结论,再用最小代码说明React 组件库 受控 非受控 同时支持的工作方式、判断依据、项目边界和常见误区。
React 输入框报『组件从非受控变为受控』警告,通常是什么原因、怎么修? 本文先给出可直接复述的结论,再用最小代码说明React 非受控变受控警告的工作方式、判断依据、项目边界和常见误区。
React 表单应该选择受控还是非受控,依据是什么? 本文先给出可直接复述的结论,再用最小代码说明React 受控和非受控表单怎么选择的工作方式、判断依据、项目边界和常见误区。
什么时候应该把 React 组件里的逻辑抽成自定义 Hook,它对组件设计和测试有什么好处? 本文先给出可直接复述的结论,再用最小代码说明React 自定义 Hook 抽取逻辑 复用 测试的工作方式、判断依据、项目边界和常见误区。
React 非受控输入的 defaultValue 改了,为什么当前内容没跟着变? 本文先给出可直接复述的结论,再用最小代码说明React defaultValue 改变输入框不更新的工作方式、判断依据、项目边界和常见误区。
如何让依赖网络请求的 React 组件在测试中不真的发请求,设计上要怎么改? 本文先给出可直接复述的结论,再用最小代码说明React 组件 可测试 依赖注入 props的工作方式、判断依据、项目边界和常见误区。
为什么在 React 18 中错误边界必须用 class 组件实现,函数组件加 Hook 为什么做不到? 本文先给出可直接复述的结论,再用最小代码说明React 错误边界 class 组件 没有 Hook的工作方式、判断依据、项目边界和常见误区。
React 错误边界的降级 UI 和 componentDidCatch 里分别应该放什么内容? 本文先给出可直接复述的结论,再用最小代码说明React 错误边界 fallback componentDidCatch 上报的工作方式、判断依据、项目边界和常见误区。
React 应用里错误边界应该放在根级一个还是按功能模块放多个,怎么权衡? 本文先给出可直接复述的结论,再用最小代码说明React 错误边界 粒度 放置位置的工作方式、判断依据、项目边界和常见误区。
React 错误边界显示降级 UI 后,如何设计重试机制让组件树恢复正常? 本文先给出可直接复述的结论,再用最小代码说明React 错误边界 重试 重置 key的工作方式、判断依据、项目边界和常见误区。
React 错误边界捕获不到哪些错误,事件回调和异步代码里的报错该怎么办? 本文先给出可直接复述的结论,再用最小代码说明React 错误边界 捕获不到 事件 异步 错误的工作方式、判断依据、项目边界和常见误区。