RAG学习笔记

RAG学习笔记

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

RAG(检索增强生成)分为离线和在线两个阶段。离线阶段包括文档解析、数据清洗和分块,在线阶段涉及用户提问、检索和生成回答。文档解析需兼容多种格式,数据清洗去除冗余信息,分块策略保持语义完整,向量化用于生成嵌入。检索阶段结合稠密和稀疏向量,重排序提升答案相关性。评估指标包括召回率、正确度和知识回答的准确性。

🎯

关键要点

  • RAG(检索增强生成)分为离线和在线两个阶段。

  • 离线阶段包括文档解析、数据清洗、文档分块和向量化。

  • 在线阶段涉及用户提问、查询改写、检索、重排和生成回答。

  • 文档解析需兼容多种格式,如PDF、Word、Markdown等,并提取净文本和元数据。

  • 数据清洗去除冗余信息,如乱码、特殊字符和版权声明。

  • 文档分块策略保持语义完整,分块方式包括按Token数、递归字符切分和基于结构切分等。

  • 向量化过程包括Token化、嵌入生成和归一化。

  • 检索阶段结合稠密和稀疏向量,使用BM25算法计算文档相关性。

  • 重排序阶段利用交叉编码器提升答案相关性。

  • 评估指标包括召回率、正确度和知识回答的准确性。

🔎

延伸解读

离线阶段的重要性

RAG的离线阶段是整个系统的基础,涉及文档解析、数据清洗和分块等关键步骤。若离线阶段处理不当,可能导致后续检索和生成的效果大打折扣。因此,确保文档解析兼容多种格式,并有效去除冗余信息,是提升系统性能的关键。

检索与重排序的策略

在RAG的在线阶段,检索和重排序是提升答案相关性的核心环节。结合稠密和稀疏向量的混合检索策略,可以更好地处理用户查询,确保返回的结果更具相关性。重排序阶段利用交叉编码器进一步优化答案的排序,值得关注。

评估指标的多维度考量

RAG的评估指标包括召回率、正确度和知识回答的准确性等,反映了系统在检索和生成过程中的表现。理解这些指标的含义,有助于开发者在优化系统时,针对性地提升某一方面的性能,从而实现更高效的知识库构建与应用。

延伸问答

RAG的离线阶段包括哪些步骤?

离线阶段包括文档解析、数据清洗、文档分块和向量化。

文档解析需要兼容哪些文件格式?

文档解析需兼容PDF、Word、Markdown、HTML、JSON、TXT等多种格式。

RAG的在线阶段主要做什么?

在线阶段主要包括用户提问、查询改写、检索、重排和生成回答。

如何进行文档分块以保持语义完整?

文档分块可以按Token数、递归字符切分、基于结构切分等方式进行,以保持语义完整。

RAG中检索阶段的重排序是如何提升答案相关性的?

重排序阶段利用交叉编码器将问题和候选文档拼接在一起,通过自注意力机制提升答案相关性。

评估RAG效果的指标有哪些?

评估指标包括召回率、正确度和知识回答的准确性。

🏷️

标签

➡️

继续阅读