AI新工具
banner

Multi-Head RAG


介绍:

Multi-Head RAG 通过多头注意机制提升复杂查询文档检索准确性。









Multi-Head RAG

Multi-Head RAG (MRAG) 简介

Multi-Head RAG(MRAG)是一种创新的框架,专门处理需要检索多方面信息的复杂查询。传统的查询常常难以获取包含不同内容的多个文档,因为这些文档的嵌入在向量空间中距离较远。MRAG 的核心理念是利用 Transformer 多头注意力层的激活作为关键值来检索多方面文档,而不是使用解码层的激活。不同的注意力头可以学习捕捉不同数据面的特征,这样的激活能够生成代表数据项和查询各个方面的嵌入,从而提高复杂查询的检索准确性。

使用场景

MRAG 特别适用于以下场景:

  1. 多方面信息检索:当一个查询需要从多个角度获取不同信息时,MRAG 可以有效提升检索效率和准确性。
  2. 复杂问题解决:适合用于解决需要综合多种信息源的复杂问题,例如跨领域的研究、市场分析等。
  3. 数据分析与可视化:在需要多维度数据分析和可视化的应用中,MRAG 的多头注意力机制能够提供更细致的特征提取。
安装指南

为了使用 MRAG 框架,需要一个 Python 3.9 或更新的工作环境。

安装 MRAG

用户可以从源码安装 MRAG:

git clone https://github.com/spcl/MRAG.git
cd MRAG
pip install .
apt-get install docker-compose

开发者可以以可编辑模式从源码安装:

git clone https://github.com/spcl/MRAG.git
cd MRAG
pip install -e .
apt-get install docker-compose
快速开始

生成合成数据集及其查询:

multirag-cli datagen
export OPENAI_API_KEY=<api key>
multirag-cli querygen

接下来生成数据集和查询的嵌入向量:

multirag-cli embed

设置向量数据库并导入嵌入数据:

multirag-cli db start
multirag-cli db import

运行评估命令:

multirag-cli evaluate

可视化评估数据:

multirag-cli plot

详细的命令行接口文档可以在以下链接中找到:

文献引用

如果您觉得这个项目有价值,请给予星标支持!有任何问题或反馈,请随时联系并提出 issue。如果在您的工作中使用了 MRAG,请按以下方式引用:

@misc{besta2024multihead,
  title = {{Multi-Head RAG: Solving Multi-Aspect Problems with LLMs}},
  author = {Besta, Maciej and Kubicek, Ales and Niggli, Roman and Gerstenberger, Robert and Weitzendorf, Lucas and Chi, Mingyuan and Iff, Patrick and Gajda, Joanna and Nyczyk, Piotr and M\"{u}ller, J\"{u}rgen and Niewiadomski, Hubert and Chrapek, Marcin and Podstawksi, Micha\{}l and Hoefler, Torsten},
  year = 2024,
  month = June,
  eprinttype = {arXiv},
  eprint = {2406.05085}
}
可关注我们的公众号:每天AI新工具

广告:私人定制视频文本提取,字幕翻译制作等,欢迎联系QQ:1752338621