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

一句话回答

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

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

总结的说法:

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

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

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

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

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

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

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

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

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

相关推荐
名不经传的养虾人1 小时前
从0到1:企业级AI项目迭代日记 Vol.90|Agent变快了,Judge定下来了
大数据·数据库·人工智能·ai编程·企业ai
benchmark_cc1 小时前
批量获取量化数据时,如何设置合理的超时和重试机制?——QuantDash 高性能实战指南
开发语言·人工智能·python·pandas·量化·quantdash
Geek-Chow1 小时前
06 训练管线:数据如何变成权重
人工智能·算法
树欲静而风不止861 小时前
AI赋能研发管理:全星APQP系统打通质量闭环,让高端制造项目管控更聪明
人工智能·制造
%471 小时前
DAY 38
人工智能·pytorch·深度学习
北京靠谱的GEO优化机构1 小时前
媒体邀约怎么做才专业?详解企业高端品牌专访传播全流程
大数据·人工智能·媒体
user-猴子2 小时前
QoderWork、TRAE Work、AiPy、Kimi Work:四款桌面AI智能体定位与适用场景全拆解
人工智能
码农胖大海2 小时前
项目级 Skill 跨 Agent 共用的解决方案
人工智能
老纪的技术唠嗑局2 小时前
端侧智能爆火之后,为何模型反而不是主角了?
数据库·人工智能