RAG相关常见问题
RAG系统在生成回答前先检索相关文档再喂给大模型为什么不直接让大模型根据自身知识回答解决时效性问题。模型训练有截止时间通过知识库可以获取最新数据。降低幻觉。RAG可能会编造知识知识库可以提供明确的上下文进行事实约束。建设私域知识。RAG能无缝接入企业内部数据免去昂贵的微调成本。控制上下文长度与算力开销。通过精准检索只提取最相关的片段避免长文本导致的注意力衰减和高成本。文档切分时chunk设置过大或过小分别会带来什么问题Chunk过小语义不完整导致向量表征信息量不足降低召回准确率且易丢失上下文。Chunk过大包含过多干扰信息稀释向量表征的区分度增加检索噪音和Token成本。把检索到的多个chunk拼装进prompt时为什么要对chunk做去重和排序去重可以避免冗余信息占用有限的上下文窗口有效控制Token成本。排序是因为大模型存在“中间迷失”现象对上下文开头和结尾的注意力更高。如果不把重排后最相关的chunk放在这些黄金位置关键信息很容易被低相关性的chunk稀释甚至被挤出窗口。如果一个RAG系统经常召回不到相关文档你会从数据清洗、切分、Embedding、检索策略这几个环节中分别排查哪些可能的故障点数据清洗——是否过度清洗、格式是否标准切分——过大导致主题不聚焦、过小导致信息不完整Embedding——模型是否适配领域、维度是否够检索策略——是否需要混合检索向量BM25、是否需要查询改写、top-k是否太小、是否需要重排。为什么RAG系统检索到了正确文档还是会产生幻觉上下文拼装干扰拼装时若混入无关或冲突的chunk会分散模型注意力导致模型忽略正确文档而产生幻觉。chunk排序与位置偏差LLM存在“中间迷失”现象若正确文档排序靠后或位于上下文中部极易被模型忽略。模型先验知识偏见当检索到的正确信息与LLM自身参数化的先验知识冲突时模型可能仍倾向于生成符合其偏见的内容。指令遵循与过度推理若生成阶段Prompt约束不足模型可能对上下文进行过度脑补或错误关联偏离原文事实。RAG召回率低会有什么现象要怎么解决召回率低的现象是大模型缺乏足够上下文表现为直接拒答或产生幻觉。应优先优化前置检索环节如文档切分策略、查询改写和混合检索。召回率很高但检索结果相关性很差会有什么问题如何解决召回率高但相关性差会导致回答跑题、被无关信息误导且增加响应延迟和Token成本。应优先引入重排模型或调整Top-K参数。为什么要进行查询改写查询改写的策略有哪些简短查询语义稀疏且缺乏上下文直接检索易导致语义匹配偏差召回大量无关内容。查询改写可以利用大模型补全上下文缺失的实体、扩展同义词、将口语化提问转为标准检索词等。比如将“怎么处理订单超时”改成“电商平台中订单超时未支付的自动取消流程是什么系统如何处理订单状态变更、库存回滚以及优惠券释放”