欢迎来到当今最全面和最动态的检索增强生成(RAG)教程集合之一。此存储库充当旨在提高RAG系统的准确性、效率和上下文丰富性的尖端技术的中心。
该教程完全参考自: https://github.com/NirDiamant/RAG_Techniques
检索增强生成(RAG)正在彻底改变我们将信息检索与生成人工智能相结合的方式。此存储库展示了精心策划的高级技术集合,旨在增强您的RAG系统,使它们能够提供更准确、上下文相关和全面的响应。
我们的目标是为研究人员和实践者提供一个有价值的资源,以突破RAG的极限。通过营造合作环境,我们的目标是加速这一令人兴奋的领域的创新。
- 🧠 先进的RAG增强技术
- 📚 每种技术的全面文档
- 🛠️ 实用实施指南
- 🌟 定期更新最新进展
探索先进的RAG技术的列表:
介绍基本的RAG技术,非常适合新手。
从基本检索查询开始,并集成增量学习机制。
通过嵌入单个句子和将上下文扩展到相邻句子来提高检索精度。
检索最相关的句子,同时访问原文中前后的句子。
应用各种过滤技术来提炼和提高检索结果的质量。
- 🏷️ 元数据过滤: 根据日期、来源、作者或文档类型等属性应用过滤器。
- 📊 相似度阈值: 设置相关性分数的阈值,只保留最相关的结果。
- 📄 内容过滤: 删除不符合特定内容标准或关键词汇的结果。
- 🌈 多样性过滤: 通过过滤掉近乎重复的条目来确保结果的多样性。
通过结合不同的检索方法来优化搜索结果。
- 结合基于关键词的搜索和基于向量的搜索,以实现更全面和准确的检索。
应用高级评分机制来提高检索结果的相关性排名。
- 🧠 基于语言模型的评分: 使用语言模型对每个检索到的块的相关性进行评分。
- 🔀 交叉编码器模型: 联合重新编码查询和检索到的文档,以进行相似度评分。
- 🏆 增强元数据排名: 将元数据纳入评分过程,实现更细致的排名。
修改和扩展 query 以提高检索效果。
- ✍️ query 重写: 重新制定 query 以改善检索。
- 🔙 后退提示: 生成更广泛的 query 以获得更好的上下文检索。
- 🧩 子查询分解: 将复杂 query 拆分为更简单的子查询。
创建一个多层次系统,用于高效的信息导航和检索。
实现一个两级系统,用于文档摘要和详细片段,两者都包含指向数据中相同位置的元数据。
生成假设性问题,以改善查询与数据之间的一致性。
创建指向数据中相关位置的假设性问题,增强查询-数据匹配。
选择合适的固定大小的文本块,以平衡上下文保留和检索效率。
尝试不同的块大小,为您特定的用例找到在保留上下文和保持检索速度之间的最佳平衡。