于稀疏检索与稠密检索的混合搜索

目的:

  1. 通过结合稀疏检索稠密检索混合检索解决基于向量检索RAG方案的暴露问题;
  2. 通过多路检索召回,提高整体RAG检索准确性和稳定性;
  3. 支持非结构化文档的知识准确检索;

优点:它同时考虑了查询与存储文档之间的语义相似性和关键字匹配度;

  1. 文本分片策略(文本特征处理)

文本分片:固定大小分块,内容感知分块,递归分块,专门分块(Markdown, html)

  • 总体策略方向:以语义为单位进行切分, 切分策略按数据集进行适配和微调
  • 文本切分常用的切割器:NLTK, SpaCy, langchian, llamaIndex;
  • 1)文档分块策略:对文档进行大小块切分(检索子块,返回父块)
  • 2)对切片文档进行相关问题生成,增强文档检索相关性(检索策略)
  • 3) 按chunk大小进行滑动窗口切分:即把文档按照chunk分成有重叠的若干段
  1. 查询转换(query transformation)策略 (搜索策略)

对用户query进行清洗和关键词抽取,由于用户query存在部分口语化的词,如停用词等,直接抽取用户中的关键词做召回是一个有效的方式。

  • queries 生成转换策略:对user query生成多个query, 单个query可能无法捕获用户感兴趣的全部范围,或者它可能太窄而无法产生全面的结果。
  • 基于规则对user query重写: 补充用户query隐含的先验知识或上下文知识
  • 基于LLM的转换对复杂语句拆分多子句并行查询,对query生成多个query
  1. 混合检索的重排与过滤算法策略(搜索策略)
  • convex combination (权重加和):
  • RRF(倒排融合算法):
  1. 多轮对话的上下文检索(搜索策略)

:基本方法:检索与用户查询相关的上下文,然后将其与内存缓冲区中的聊天历史记录一起发送给LLM, 让LLM在生成下一个答案时了解先前上下文

:聊天历史记录和最后一条消息都

  1. 响应合成策略 (回答生成策略)

-基本方法:将所有获取的上下文(>相关阈值)与查询一起连接并立即提供给LLM。

-其他响应合成策略:涉及多个LLM调用,以细化检索到的上下文并生成更好的答案:

- 1. 通过将检索到的上下文逐块发送到LLM来迭代地细化答案

- 2. 总结检索到的上下文以适应提示

- 3. 同的上下文块生成多个答案,然后将它们连接或总结

https%3A//arxiv.org/pdf/2005.11401.pdf

https%3A//arxiv.org/abs/2312.10997

GitHub - PKU-YuanGroup/ChatLaw: 中文法律大模型

GitHub - Raudaschl/rag-fusion

Response Synthesizer - LlamaIndex

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值