RAG 技术 01 - 数据预处理
在构建 RAG 应用时,提前对接入的知识进行预处理,能减轻检索的压力,提升回答的准确度
使用 llm 提升信息密度
在处理原始数据时,无关信息或不相关的内容,可能会给检索过程带来干扰,通过 LLM 可以从原始数据中提取有用的信息,总结过于冗长的文本,或隔离关键事实,从而提高信息密度。甚至可以将原始数据转为更密集、更清晰的知识图谱
如使用以下 prompt 对数据进行整理
1 | You are a data processing assistant. Your task is to extract meaningful information from a scraped web page from XYZ Corp. This information will serve as a knowledge base for further customer inquiries. Be sure to include all possible relevant information that could be queried by XYZ Corp's customers. The output should be text-only (no lists) separated by paragraphs. |
如对网页文件处理后,原始 HTML 约有 55000 tokens,而使用 GPT4 提取后的信息约有 330tokens,在降低噪声的同时大大提高了信息密度。
![[认识 AdvancedRAG-20250124150225.png]]
使用 llm 删除冗余信息
如果多个文档存在类似内容时,在返回 top 可相近文档时,会存在冗余内容,并且导致检索到其他相关文档能力下降,因此需要对冗余数据进行删除
例如在不同的文档,存在以下内容:
文档 1:“员工必须确保所有客户数据都得到安全存储。未经同意,不得共享客户数据。
文档 2:“所有客户数据都必须加密。分享前需要征得同意。
文档 3:“确保客户数据得到安全存储。未经正确利益相关者同意,请勿共享客户数据。
经过删除后,合并文本为:“客户数据必须安全地加密和存储,未经明确同意,禁止共享客户数据