深入浅出 RAG-Fusion

忘记RAG,未来是RAG-Fusion

RAG-Fusion 的实现原理

  1. Query Duplication with a Twist:用 LLM 根据用户的 Query 生成几个相关的但不同的 Queries。
  2. Vector Search Unleashed:对原 Query 和生成的 Queries 都进行向量(或者其他方式的)搜索。
  3. Intelligent Reranking:使用 Reciprocal Rank Fusion 对搜索结果进行重新排序,挑选前 N 个。
  4. Eloquent Finale:把挑选的结果和问题一起,发给 LLM 让他生成最终的结果。

代码实现:GitHub - Raudaschl/rag-fusion 

关键就是两步:生成多个 Queries,以及整合排序

Reciprocal Rank Fusion (RRF)

使用不同的 query 去检索知识(doc),然后用 RRF 把搜索结果统一起来。

RRF 算法很简单,就是把 doc 在不同的排序中的排名汇总起来。

RRF论文地址:https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf

RAG-Fusion 的优缺点

优点:能更全面理解用户的意图,能获得更相关的知识。

缺点:Prompt的长度,可能让 LLM 迷失,另一方面则是要适应 LLM 上下文窗口的长度。

LangChain 实现

rag-fusion | 🦜️🔗 LangChain

LlamaIndex 实现

Rag fusion query pipeline - LlamaIndex

相关推荐

  1. 深入浅出SSH

    2024-04-27 20:16:05       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 20:16:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 20:16:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 20:16:05       82 阅读
  4. Python语言-面向对象

    2024-04-27 20:16:05       91 阅读

热门阅读

  1. Linux CentOS 本地yum配置

    2024-04-27 20:16:05       35 阅读
  2. VGG网络

    2024-04-27 20:16:05       30 阅读
  3. docker-compse安装fastdfs

    2024-04-27 20:16:05       29 阅读
  4. PostCSS详细介绍

    2024-04-27 20:16:05       30 阅读
  5. leetcode_31.下一个排列

    2024-04-27 20:16:05       31 阅读
  6. 商城数据库(53-56)

    2024-04-27 20:16:05       23 阅读
  7. 《Python Cookbook》第一章

    2024-04-27 20:16:05       30 阅读
  8. Spring 处理 HTTP 请求参数注解

    2024-04-27 20:16:05       30 阅读
  9. python绘制散点图

    2024-04-27 20:16:05       35 阅读
  10. 正则表达式与通配符

    2024-04-27 20:16:05       31 阅读
  11. spring-boot控制bean的创建顺序

    2024-04-27 20:16:05       35 阅读
  12. 内容分发网络CDN分布式部署加速原理

    2024-04-27 20:16:05       31 阅读