RAG_Techniques

RAG_Techniques

先进RAG技术集合优化检索增强生成系统

本项目汇集22种先进RAG技术,涵盖简单RAG到复杂可控代理等多种方法,包括上下文丰富、多方面过滤、融合检索和智能重排序等。这些技术旨在提高检索增强生成系统的准确性、效率和上下文丰富度,为研究人员和实践者提供全面实施指南,助力开发更高效RAG系统。

RAG检索增强生成自然语言处理机器学习信息检索Github开源项目

许可证 Python 3.8+ 欢迎PR

高级RAG技术:提升您的检索增强生成系统 🚀

我很高兴向您介绍这个全面的高级检索增强生成(RAG)技术集合。本项目旨在为希望提高RAG系统准确性、效率和上下文丰富度的研究人员和实践者提供宝贵资源。

目录

简介

检索增强生成(RAG)正在彻底改变我们将信息检索与生成式AI结合的方式。本仓库展示了一系列精心策划的高级技术,旨在提升您的RAG系统,使其能够提供更准确、更具上下文相关性和全面的响应。

🔗 如果您想讨论GenAI、RAG或定制代理,或探索知识共享机会,欢迎在LinkedIn上与我联系

主要特点

  • 🧠 最先进的RAG增强技术
  • 📚 每种技术的全面文档
  • 🛠️ 实用的实施指南
  • 🌟 定期更新最新进展

高级技术

探索这份广泛的前沿RAG技术列表:

1. 简单RAG 🌱

概述 🔎

为新手介绍基本的RAG技术。

实现 🛠️

从基本检索查询开始,并整合增量学习机制。

2. 上下文丰富技术 📝

概述 🔎

通过嵌入单个句子并扩展到相邻句子的上下文来提高检索准确性。

实现 🛠️

检索最相关的句子,同时访问原始文本中其前后的句子。

3. 多方面过滤 🔍

概述 🔎

应用各种过滤技术来精炼和提高检索结果的质量。

实现 🛠️

  • 🏷️ 元数据过滤: 根据日期、来源、作者或文档类型等属性应用过滤器。
  • 📊 相似度阈值: 为相关性分数设置阈值,只保留最相关的结果。
  • 📄 内容过滤: 删除不符合特定内容标准或关键词的结果。
  • 🌈 多样性过滤: 通过过滤掉近似重复的条目来确保结果的多样性。

4. 融合检索 🔗

概述 🔎

通过结合不同的检索方法来优化搜索结果。

实现 🛠️

结合基于关键词的搜索和基于向量的搜索,实现更全面和准确的检索。

5. 智能重排 📈

概述 🔎

应用高级评分机制来改善检索结果的相关性排序。

实现 🛠️

  • 🧠 基于LLM的评分: 使用语言模型对每个检索到的文本块进行相关性评分。
  • 🔀 交叉编码器模型: 重新联合编码查询和检索到的文档以进行相似度评分。
  • 🏆 元数据增强排序: 将元数据纳入评分过程,实现更细致的排序。

6.查询转换 🔄

概述 🔎

修改和扩展查询以提高检索效果。

实现 🛠️

  • ✍️ 查询重写: 重新表述查询以改善检索。
  • 🔙 后退提示: 生成更广泛的查询以获得更好的上下文检索。
  • 🧩 子查询分解: 将复杂查询分解为更简单的子查询。

7. 层次索引 🗂️

概述 🔎

创建多层系统,实现高效的信息导航和检索。

实现 🛠️

实现一个两层系统,包含文档摘要和详细块,两者都包含指向数据中相同位置的元数据。

8. 假设性问题(HyDE方法)❓

概述 🔎

生成假设性问题以改善查询与数据之间的对齐。

实现 🛠️

创建指向数据中相关位置的假设性问题,增强查询-数据匹配。

9. 选择块大小 📏

概述 🔎

为文本块选择适当的固定大小,平衡上下文保留和检索效率。

实现 🛠️

尝试不同的块大小,为您的特定用例找到保留上下文和维持检索速度之间的最佳平衡。

10. 语义分块 🧠

概述 🔎

基于语义连贯性而非固定大小划分文档。

实现 🛠️

使用NLP技术识别文档中的主题边界或连贯部分,以获得更有意义的检索单元。

11. 上下文压缩 🗜️

概述 🔎

压缩检索到的信息,同时保留与查询相关的内容。

实现 🛠️

使用LLM压缩或总结检索到的块,保留与查询相关的关键信息。

12. 可解释检索 🔍

概述 🔎

提供检索过程的透明度,以增强用户信任和系统改进。

实现 🛠️

解释为什么检索到某些信息以及它们与查询的关系。

13. 带反馈循环的检索 🔁

概述 🔎

实施机制从用户交互中学习并改进未来的检索。

实现 🛠️

收集并利用用户对检索文档和生成响应的相关性和质量的反馈,以微调检索和排序模型。

14. 自适应检索 🎯

概述 🔎

根据查询类型和用户上下文动态调整检索策略。

实现 🛠️

将查询分类为不同类别,并考虑用户上下文和偏好,为每种类别使用定制的检索策略。

15. 迭代检索 🔄

概述 🔎

进行多轮检索以改进和提高结果质量。

实现 🛠️

使用大型语言模型分析初始结果并生成后续查询,以填补信息空白或澄清信息。

16. 集成检索 🎭

概述 🔎

结合多个检索模型或技术,以获得更稳健和准确的结果。

实现 🛠️

应用不同的嵌入模型或检索算法,并使用投票或加权机制来确定最终检索的文档集。

17. 知识图谱集成(图形RAG)🕸️

概述 🔎

整合知识图谱中的结构化数据以丰富上下文并改进检索。

实现 🛠️

从与查询相关的知识图谱中检索实体及其关系,将这些结构化数据与非结构化文本结合,以提供更丰富的回答。

18. 多模态检索 📽️

概述 🔎

扩展RAG功能以处理多样化的数据类型,提供更丰富的回答。

实现 🛠️

整合能够检索和理解不同数据模态的模型,结合文本、图像和视频的洞察。

19. RAPTOR:用于树状组织检索的递归抽象处理 🌳

概述 🔎

实施递归方法,以树状结构处理和组织检索到的信息。

实现 🛠️

使用抽象摘要递归处理和总结检索到的文档,将信息组织成树状结构以提供层次化上下文。

20. 自我RAG 🔁

概述 🔎

一种动态方法,结合了基于检索和基于生成的方法,自适应决定是否使用检索到的信息以及如何最佳利用它来生成回答。

实现 🛠️

• 实施多步骤过程,包括检索决策、文档检索、相关性评估、回答生成、支持评估和效用评估,以产生准确、相关和有用的输出。

21. 纠正性RAG 🔧

概述 🔎

一种复杂的RAG方法,动态评估和纠正检索过程,结合向量数据库、网络搜索和语言模型,以提供高度准确和上下文感知的回答。

实现 🛠️

• 整合检索评估器、知识细化、网络搜索查询重写器和回答生成器组件,创建一个基于相关性分数调整信息源策略并在必要时结合多个来源的系统。

🌟 特殊高级技术 🌟

22. 用于复杂RAG任务的复杂可控代理 🤖

概述 🔎

一种先进的RAG解决方案,设计用于解决简单基于语义相似度的检索无法解决的复杂问题。此方法使用复杂的确定性图作为高度可控自主代理的"大脑"🧠,能够从您自己的数据中回答非平凡问题。

实现 🛠️

• 实施多步骤过程,包括问题匿名化、高层规划、任务分解、自适应信息检索和问答、持续重新规划以及严格的答案验证,以确保回答有依据且准确。

入门指南

要开始在您的项目中实施这些高级RAG技术:

  1. 克隆此仓库:
    git clone https://github.com/NirDiamant/RAG_Techniques.git
    
  2. 导航到您感兴趣的技术:
    cd all_rag_techniques/technique-name
    
  3. 按照每个技术目录中的详细实施指南进行操作。

贡献

我们欢迎社区的贡献!如果您有新技术或改进建议:

  1. 复刻(Fork)该仓库
  2. 创建您的特性分支:git checkout -b feature/AmazingFeature
  3. 提交您的更改:git commit -m '添加一些惊人的特性'
  4. 推送到分支:git push origin feature/AmazingFeature
  5. 开启一个拉取请求

许可证

本项目采用Apache License 2.0许可 - 详情请见LICENSE文件。


⭐️ 如果您觉得这个仓库有帮助,请考虑给它一个星标!

关键词:RAG、检索增强生成、自然语言处理、人工智能、机器学习、信息检索、自然语言处理、大型语言模型、嵌入、语义搜索

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多