微信扫码
添加专属顾问
我要投稿
深入探索RAG技术在处理长上下文管理中的挑战与策略。核心内容:1. 大型语言模型的上下文长度限制及其影响2. RAG系统中管理上下文长度的四种策略3. 上下文摘要技术在RAG中的应用与优化
请务必查看本系列的先前文章:
传统的大型语言模型 (LLM)存在上下文长度限制,这限制了单次用户与模型交互中处理的信息量,这是其主要局限性之一。解决这一限制一直是 LLM 开发社区的主要工作方向之一,提高了人们对增加上下文长度在生成更连贯、更准确响应方面优势的认识。例如,2020 年发布的 GPT-3 上下文长度为 2048 个 token,而其更年轻但功能更强大的兄弟 GPT-4 Turbo(诞生于 2023 年)允许在单个提示中处理高达 128K 个 token。毋庸置疑,这相当于能够在一次交互中处理整本书,例如,对其进行总结。
另一方面,检索增强生成 (RAG)会整合来自检索文档(通常是向量数据库)的外部知识,以增强 LLM 输出的上下文和相关性。然而,在 RAG 系统中管理上下文长度仍然是一个挑战,因为在某些需要大量上下文信息的场景中,需要对检索到的信息进行有效的选择和汇总,以使其保持在 LLM 的输入限制以下,同时又不丢失必要的知识。
RAG 中的长上下文管理策略
RAG 系统有多种策略,可以在将初始用户查询传递给 LLM 之前,尽可能多地整合检索到的相关知识,同时又不超出模型的输入限制。以下概述了其中四种策略,从最简单到最复杂。
1. 文档分块
文档分块通常是最简单的策略,它专注于将向量数据库中的文档拆分成更小的块。虽然乍一看可能不太明显,但该策略有助于通过多种方式克服 RAG 系统内 LLM 的上下文长度限制,例如,在保持块内上下文完整性的同时,降低检索冗余信息的风险。
2.选择性检索
选择性检索是指对大量相关文档应用过滤过程,仅检索最相关的部分,从而缩小传递给 LLM 的输入序列的大小。通过智能地过滤检索到的文档中需要保留的部分,其目标是避免包含不相关或无关的信息。
3. 有针对性的检索
虽然与选择性检索类似,但定向检索的本质是带着非常具体的意图或最终响应来检索数据。这是通过针对特定类型的查询或数据源优化检索器机制来实现的,例如,构建专门用于医学文本、新闻文章、最新科学突破等的检索器。简而言之,它构成了一种进化且更专业的选择性检索形式,并在循环中加入了特定领域的标准。
4. 上下文摘要
上下文摘要是 RAG 系统中一种更复杂的上下文长度管理方法,我们在构建最终上下文的过程中应用文本摘要技术。一种可行的方法是使用一个额外的语言模型(通常规模较小,且经过摘要任务训练),用于对检索到的大量文档进行摘要。摘要任务可以是提取式的,也可以是抽象式的。提取式识别并提取相关的文本段落,抽象式从头生成摘要,对原始文本块进行重新表述和精简。此外,一些 RAG 解决方案使用启发式方法来评估文本片段(例如文本块)的相关性,并丢弃相关性较低的文本块。
战略 |
概括 |
文档分块 |
将文档分成更小、更连贯的块,以保留上下文,同时减少冗余并保持在 LLM 限制内。 |
选择性检索 |
过滤大量相关文档以仅检索最相关的部分,从而最大限度地减少无关信息。 |
目标检索 |
使用专门的检索器优化针对特定查询意图的检索,添加特定领域的标准来优化结果。 |
上下文摘要 |
使用提取或抽象摘要技术来浓缩大量检索到的内容,确保将必要的信息传递给 LLM。 |
长上下文语言模型
那么长上下文LLM怎么样?这样就够了,不需要RAG了?
这是一个需要解决的重要问题。长上下文LLM(LC-LLM)是“超大型”LLM,能够接受非常长的输入标记序列。尽管研究证据表明LC-LLM的性能通常优于RAG系统,但后者仍然具有独特的优势,尤其是在需要动态实时信息检索和成本效益的场景中。在这些应用中,值得考虑使用封装在采用上述策略的RAG系统中的小型LLM,而不是LC-LLM。它们都不是万能的解决方案,它们都能在各自适用的特定环境中具有优势。
小结
本文介绍并阐述了在 RAG 系统中管理上下文长度的四种策略,以及在此类系统中的 LLM 在单用户交互中可接受的输入长度可能存在限制的情况下处理长上下文的策略。虽然使用所谓的长上下文 LLM 近年来已成为克服此问题的趋势,但在某些情况下,坚持使用 RAG 系统可能仍然是值得的,尤其是在需要实时更新上下文的动态信息检索场景中。
往期推荐
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-26
深度学习!构建基于LangGraph的RAG多智能体研究工具。
2025-04-26
用RAG与Agent提升企业问答效率:我的AI实践之路
2025-04-26
理解 RAG 第一部分:为什么需要它
2025-04-26
理解 RAG 第三部分:融合检索与重新排序
2025-04-26
理解 RAG 第四部分:检索增强生成评估框架
2025-04-26
RAG比之MCP或长上下文LLM,要没落了吗?
2025-04-26
【Ragflow】21.RagflowPlus(v0.2.1):6个bug修复/增加重置密码功能
2025-04-25
RAG落地实战之文本切分4种策略全解析
2024-10-27
2024-09-04
2024-07-18
2024-05-05
2024-06-20
2024-06-13
2024-07-09
2024-07-09
2024-05-19
2024-07-07
2025-04-26
2025-04-25
2025-04-22
2025-04-22
2025-04-20
2025-04-19
2025-04-18
2025-04-16