当前位置: 首页 > news >正文

LLM大规模数据的组织检索方法

数据是GB级别的文档,量级远超LLM的上下文窗口,例如,128K、1M tokens。

核心的解决思路,不要试图把整个数据塞进模型窗口,而是要在数据组织和检索方法发力。

目前的方案可以分为三大流派:RAG检索增强生成、长文本模型优化以及Agentic代理式架构。

这里基于网络资料,尝试探索这些组织检索方法。

1. RAG检索增强

RAG是目前解决超长上下文最成熟、最通用的方案。其核心在于先筛选,后阅读。

当数据量极大时,索引和检索阶段的效率与准确性决定了整个系统的上限。

1.1 索引阶段优化-如何组织数据

不能简单地把文档切碎了扔进向量库,需要进行结构化处理:

1)多层次文档分块

- 小颗粒度块用于检索:256-512 tokens。保证检索的精度,避免无关信息混入。

- 大颗粒度块用于合成:在检索到相关的小块后,通过块ID关联将所在的大章节,如 2000 tokens,一并返回给LLM。这解决了上下文碎片化的问题。

- 元数据与结构化索引:为每个数据块打上标签,如日期、作者、类别、章节)。在检索时,先通过SQL-like过滤缩小范围,例如:`时间 > 2024年` 且 `部门 = 法务`,再进行向量相似度搜索。这被称为预过滤。

- 图索引:对于高度互联的数据,如社交网络、技术文档,使用图数据库如Neo4j存储实体关系。先找到核心实体,再检索其关联信息。

1.2 检索阶段优化-如何找到数据

一种有效的方式就是混合搜索,融合向量搜索、关键词搜索,并采用重排序处理搜索后的数据。

1)向量搜索

处理语义相似性,“苹果手机” vs “iPhone”。

2)关键词搜索

利用BM25等算法,处理精确匹配,如合同编号、专业术语“心肌梗死”。

3)重排序

先用速度快的模型粗筛出Top 100,再用更精准的交叉编码器模型对结果进行重新排序,确保最相关的结果排在最前面。

2 长文本优化

当单纯分级检索依然难以应对现实问题,比如有的问题,在分级检索后,依然不能拿到所有回答问题必须的必要信息,这次可能需要从模型信息和回答机制出发,设计问题解决方案。

2.1 长文本模型优化

针对一些上下文窗口已扩展到百万甚至千万级别的模型,单纯靠窗口大小硬塞是不现实的。

通常结合以下策略:

1)信息压缩

在将数据喂给模型之前,先用一个小模型对长文本进行摘要或提取关键实体。

例如,将冗长的聊天记录压缩为用户诉求变化线,再将压缩后的摘要输入给大模型。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767962

2)注意力机制优化

利用模型内置注意力掩码技术,跳过不重要的部分,如停用词、HTML标签,只关注关键实体。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767966

3)滑动窗口与记忆机制

模型每次只处理一个窗口的数据,但会将重要的历史信息,总结或关键向量,保留在缓存中,作为后续分析的上下文。

详情参考如下链接

https://blog.csdn.net/liliang199/article/details/158767969

2.2 Agentic RAG与数据管道

当数据量达到数亿条记录且需要深度分析时,单次检索已无法满足需求。

此时,LLM作为思考者,调用各种工具来组织数据。

1)多跳检索

假设问题:“特斯拉2023年在中国市场的竞争对手有哪些?”

step1:检索“特斯拉2023年中国销量报告”。

Agent分析报告后,发现提到了“比亚迪”和“蔚来”。

step2:分别检索“比亚迪2023年财报亮点”和“蔚来2023年车型销量”。

最后整合信息回答。

这种方式能够处理复杂逻辑,但响应时间较长。

2)数据预处理管道

对于无法直接检索的超大数据集,先进行ETL操作。

例如,当用户提问时,Agent先查询数据库API,生成SQL语句从数据仓库中聚合统计结果,如总销售额、平均值,再将这个数字作为上下文送给LLM进行解读。

3. 不同场景的选择

1)聊天机器人/客服问答

首选RAG + 混合搜索,确保回复能引用具体来源,且能实时更新知识库。

2)财报分析/长篇内容总结

首选长文本模型 + 压缩技术,使用Map-Reduce式的总结模式,先分段总结,再汇总总结。

3)研究分析/竞品调研

首选Agentic Graph RAG。构建知识图谱,让Agent在多篇文档中反复穿梭,查找联系。

当然,现实问题可能不是以上某一个单一场景,有可能多个场景同时混合,或者间断出现。

单一机制有可能还是不能解决问题,不要试图单次解决问题,尝试通过多次迭代的思考-检索-再思考过程完成复杂任务。

reference

---

LLM基于注意力掩码的机制优化

https://blog.csdn.net/liliang199/article/details/158767966

LLM滑动窗口与记忆机制的应用探索

https://blog.csdn.net/liliang199/article/details/158767969

LLM的信息压缩技术的探索

https://blog.csdn.net/liliang199/article/details/158767962

http://www.jsqmd.com/news/490801/

相关文章:

  • 30款IDEA插件宝贝,开发效率yyds!
  • 基于博途V16的程序:传送带机械手工件搬运监控系统
  • HAC集群切换后断档问题处理
  • GPT-5.4 深夜上线!百万上下文+原生操作电脑,OpenClaw 天选模型来了!【附GPT升级教程】
  • Matplotlib绘制拆线图自定义曲线颜色显示
  • JAVA今日面经(一)
  • 发电机组并网技术研究
  • 工业物联网百科全书
  • 立创开源广场自动签到脚本V1.1
  • KMP算法之 next 数组的计算
  • 净水器行业的下一步:从卖设备到卖服务
  • 「OpenClaw 实战全攻略」:从打造 Second Brain 到服务器自愈,20+ 真实落地场景解析
  • 欧洲十家运营商联手对抗星链:一场关于天空的“地缘保卫战”
  • 第六讲:OpenClaw+Deepseek+飞书低成本安装龙虾指南(最新)
  • SceneV:基于Vue3与ThingsBoard的高性能低代码组态可视化解决方案
  • 底部填充胶 (Underfill) 怎么选?AI 算力芯片与 CoWoS 先进封装导热用胶白皮书—37W/m·K 高导热与 13ppm 极低 CTE :峻茂芯片级应力管理指南
  • 高级java每日一道面试题-2025年8月27日-基础篇[LangChain4j]-如何审计 LLM 的输入输出?
  • 2025_NIPS_Transformer brain encoders explain human high-level visual responses
  • Select、Poll、Epoll详解:核心区别与实战用法
  • coding plan vs token
  • 高级java每日一道面试题-2025年8月28日-业务篇[LangChain4j]-如何使用 LangChain4j 实现智能投研助手?需要处理哪些金融数据源?
  • LeetCode Hot100(66/100)——118. 杨辉三角
  • Qt进程间通信
  • LeetCode Hot100(68/100)——198. 打家劫舍
  • 【LLM进阶-Agent】13.function call vs mcp vs skills
  • 2025_NIPS_EgoExoBench: A Benchmark for First- and Third-person View Video Understanding in MLLMs
  • 告别绘图软件!Paperxie AI 科研绘图:10 次免费额度,让理工科论文可视化一步到位
  • Tower I3C Host Adapter 使用范例 (20)
  • 【C++】左值引用、右值引用
  • CS二开之睡眠混淆(五)BeaconGate,UDRL,Sleepmask组合拳