索引优化

2025年8月28日 · 682

学习文档地址:第三章 第五节 索引优化

上下文拓展

在前面章节提到过文本分块的重要性,如果切块太小,则缺乏足够上下文,如果切的太大,又会造成噪音太多,降低检索的相关性。基于此,Llamaindex提出来句子窗口检索(Sentence Window Retrieval)

主要思路

句子窗口检索的思想可以概括为:为检索精确性而索引小块,为上下文丰富性而检索大块

结构化索引

当需要检索的文档特别多时,例如有几百个文档这种情况下,传统的RAG方法就有点力不从心了。这个时候,需要利用结构化索引,为所有文档附加上元数据,例如文件名、日期、作者等信息,能够更快定位所需要检索的信息。

结构化索引的原理示意

基于表格的递归检索

在Excel中,每一个Sheet都是一个单独的文档,在这种情况下,需要一种更强大的策略:递归检索。它能实现“路由”功能,先将查询引导至正确的知识来源(正确的表格),然后再在该来源内部执行精确查询。

一些问题

在实际运行过程中,发现查询偶尔会报错,主要原因是,AI生成的pandas语句有问题,导致无法正确查到数据。 个人感觉两方面原因

  • DeepSeek Chat 模型本身问题,对pandas的处理不太稳定,偶尔ok偶尔不行;换成deepseek-reasoner就能保证一直正确,就是稍微有点慢;
  • PandasQueryEngine 是一个实验性功能,所以这方面也可能导致输出不稳定;

在查询时Pandas查询语句有误导致无法正确查询到相关数据

讨论