返回首页

RAG 中的 PageIndex:向量搜索的替代方案

PageIndex 用 LLM 构建的分层 TOC 替换 RAG 中的向量搜索。扩展分析,使用本地模型的实验(qwen3:14b — 69% 准确率)。启动说明和 PDF 修复。

PageIndex:无向量 DB 的 RAG — 测试和启动
Advertisement 728x90

PageIndex:RAG中向量搜索的替代方案——分析与本地部署

PageIndex提出用分层文档结构替代RAG中的向量搜索。文档被分割为页面,由大语言模型构建带节点摘要的目录树。搜索查询由大语言模型引导至相关节点,随后提取对应页面作为上下文。无需分块、嵌入或向量数据库。

扩展性限制

PageIndex针对单文档优化。对于文档集合,建议采用以下方案:

  • 元数据过滤(开发中,类似向量存储)。
  • 通过生成描述搜索(适用于小规模数据)。
  • 语义搜索(回退至向量嵌入)。

带摘要的目录树可将上下文压缩4–5倍。TF-IDF或BM25等替代方案需建立索引。存储数千文档的目录树问题尚未解决。此处,大语言模型用相关性搜索替代相似性搜索,类似于通过目录导航复杂文本。

Google AdInline article slot

在FinanceBench上声称准确率达98.7%(向量搜索约90%),通过推理实现。成本高出数十倍。已在gpt-4o和gpt-5.4上测试。

本地模型实验

测试基于一篇关于《赛博朋克2077》的学术文章(PDF,约1.7万词元)。Markdown处理流程类似LangChain的MarkdownTextSplitter——按标题分割。

PDF处理流程自动提取标题,但存在以下问题:

Google AdInline article slot
  • JSON输出错误——文本处理(移除参考文献、引文)。
  • 准确率阈值60%——可通过环境变量ACCURACY_THRESHOLD降低。
  • 准确率低因大语言模型匹配节点与片段——将MAX_TOKENS从2万提高。

模型表现:

  • gemma3:27b——目录幻觉(准确率<60%)。
  • gpt-oss:20b——准确率57–63%,稳定。
  • qwen3:14b——准确率69.57%,但存在JSON错误。

16GB GPU耗时:约30分钟(错误修正占主导)。

目录示例(gpt-oss:20b,准确率0.63):

Google AdInline article slot
{
  "doc_name": "2077.pdf",
  "structure": [
    {
      "title": "引言",
      "node_id": "0000",
      "start_index": 1,
      "end_index": 3,
      "summary": "本文探讨电子游戏《赛博朋克2077》如何...",
      "text": "从《赛博朋克2077》视角看预测与..."
    },
    {
      "title": "文献综述",
      "node_id": "0001",
      "start_index": 3,
      "end_index": 3,
      "summary": "部分文档呈现文献综述...",
      "text": "将《赛博朋克2077》置于更广泛的...",
      "nodes": [
        // ... 子节点
      ]
    }
    // ... 其余节点
  ]
}

配置与本地部署

安装:liteLLM==1.82.0(新版本存在漏洞)。勿使用pip install pageindex——该命令用于API。

笔记本:MinimalPageindexLocalPDF.ipynb、MinimalPageindexLocalMD.ipynb。

utils.py修改:OLLAMA_HOST、OLLAMA_TIMEOUT。

page_index.py修改:ACCURACY_THRESHOLD、MAX_TOKENS。

处理流程:

  • 加载文档(PDF/MD)。
  • 大语言模型构建目录(find_toc_pages)。
  • 分割为页面/行。
  • 构建带摘要的节点树。
  • 准确率修正。
  • 搜索:大语言模型按查询选择节点 → 页面提取 → 最终RAG。

PageIndex将大语言模型集成至检索过程,实现可追溯的搜索(带页面/章节引用)。适用于复杂文档,但生产环境资源消耗高。

关键要点

  • 扩展性:无向量搜索时,尚无大规模集合的现成解决方案。
  • 准确率:依赖模型;本地模型(qwen3:14b)达69%,但存在错误。
  • 成本:相比向量RAG,准确率提升8–9%需消耗10倍至N倍资源。
  • 格式:PDF自动检测标题;MD通过Markdown结构处理。
  • 修改:需环境变量调整阈值和词元数以适配较弱硬件。

— Editorial Team

Advertisement 728x90

继续阅读