rag面试题之多轮对话时的上下文依赖检索设计

一句话回答

多轮 RAG 难点:用户后续提问是省略式、指代式("那它有什么限制?"),直接拿当前这句话去检索会语义缺失,召回垃圾文档;

核心思路:把历史对话信息合理融入检索环节,还原完整用户意图,同时不能把全部历史直接塞进检索,避免噪声膨胀。

总结的说法:

多轮对话检索最大问题是用户存在指代、省略,直接拿当前问句检索效果很差。

主流方案是 Query 重写:结合最近几轮对话,调用 LLM 把当前问题补全为完整查询(提问),拿补全后的语句做知识库检索;

注意区分:检索用改写后的 query ,最终大模型生成回答,仍然要带上原始完整对话。同时要限制对话轮次做截断,防止上下文无限膨胀

难点解析:检索器的每一次检索都是独立的,它不会记住历史的,所以我们要进行 query 重写,所谓的 query 重写,就是把问题给小型的大模型,让其润色,比如:

用户:BGE‑M3 怎么做混合检索?

AI:BGE‑M3 可以同时输出稠密向量与稀疏向量,再用 RRF 融合结果......

用户:那参数怎么调?(当前用户提问,有代词 "那")

当用户问: 那参数怎么调? 时,如果直接给向量模型,向量模型是不知道这个那指的是什么的,需要让模型润色为如下问题: BGE‑M3做混合检索时相关参数如何调优

然后问题输入给参数比较大的大模型时,需要将历史所有对话(原始的)+ 用户当前原始的对话一起输入给大模型,这样的问题不要润色,因为大模型可以理解。

相关推荐
灵动的艺术几秒前
如一 Agent 架构解读(一):数字分身的执行模型——Run、Turn 与四个时间尺度
人工智能·架构·agent
远翔调光芯片^138287988723 分钟前
单节锂电自行车车灯如何实现稳定亮度?FP6291 升压 + IP2332N 充电管理方案分享
人工智能·单片机·嵌入式硬件·物联网·智能家居
lambo mercy3 分钟前
核心组件——少样本提示few-shotting、示例选择器
人工智能
程序猿阿森4 分钟前
深入解析 NLI:RAG 与大模型防幻觉的“最后一道防线”
前端·人工智能·算法
2601_965448875 分钟前
让AI写开源项目的产品介绍+宣传片脚本,实测效果
人工智能
FITA阿泽要努力9 分钟前
Sub Agent:上下文管理的艺术
人工智能·python·agent
古一木11 分钟前
WSL使用教程
机器学习
新新学长搞科研14 分钟前
【广州大学主办/会议评优】第六届人工智能与智能制造国际研讨会(AIIM 2026)
人工智能·制造
l1t14 分钟前
DeepSeek总结的本地优先的分析不需要数据库服务器
运维·服务器·数据库·人工智能·duckdb