盐城市网站建设_网站建设公司_网站备案_seo优化
2025/12/22 11:24:26 网站建设 项目流程

最近在调研RAG的各种技术,关注到了PageIndex,觉得其思路颇有借鉴意义,故整理下PageIndex相关知识要点。

1、PageIndex是什么

PageIndex 是一种不依赖向量的、基于推理(reasoning-based)的信息检索框架,用于从长篇、复杂文档中进行知识检索,其设计理念是模拟人类专家阅读和定位信息的方式,通过将文档结构化为树,并让大模型在该结构上进行推理导航,从而实现可解释、无向量的长文档检索。

核心特点包括:

  • 无向量(Vectorless)检索
  • 不使用 embedding、向量相似度搜索
  • 不需要向量数据库(如Faiss、Milvus等)
  • 树结构索引(Tree-structured Index)
  • 将文档转换为层级化的树结构(类似目录/大纲)
  • 保留文档的逻辑结构,而不是简单切chunk
  • 基于Agent的推理式检索
  • 由LLM在树结构上进行“逐步导航”和推理
  • 像人类专家一样判断“该往哪一节看”、“是否继续深入”
  • 可追溯、可解释
  • 检索路径清晰可见
  • 可以解释为什么选择某一页或某一节点
  • 无需Chunking
  • 不需要人为切分文本
  • 避免chunk过小或上下文割裂的问题

感兴趣的可以去PageIndex官网去体验下。

2、PageIndex为什么要这样设计

传统基于向量的RAG的痛点

基于向量的RAG依靠语义嵌入向量数据库来识别相关的文本块。

在预处理阶段,文档首先被分割成更小的块,然后每个块使用嵌入模型被嵌入到向量空间中,生成的向量被存储在诸如Chroma或Pinecone之类的向量数据库中。

在查询阶段,使用相同的嵌入模型对用户查询进行嵌入处理,在向量数据库中搜索语义相似的文本块,系统检索出排名前k的结果,这些结果随后被用于构成模型的输入上下文。

尽管对于短文本而言简单有效,但基于向量的RAG面临着几个主要挑战:

  1. 查询与知识空间不匹配
  • 核心问题:向量检索以 “语义相似” 为核心匹配逻辑,默认语义最相似的文本就是最相关的内容。
  • 关键局限:用户查询通常表达的是“需求意图”,而非具体的“文本内容”,二者存在本质差异,导致检索结果常偏离实际需求。
  1. 语义相似不等于真实相关
  • 核心问题:向量检索仅能识别文本表面的语义关联,无法判断内容在实际场景中的相关性。
  • 关键局限:在金融财报、法律条文、技术手册等领域文档中,大量文本片段语义高度相近(如不同年份的同类财务指标描述),但实际对应的业务含义、适用场景差异极大,向量检索无法区分这种关键相关性差异。
  1. 硬切分破坏语义与上下文完整性
  • 核心问题:为适配嵌入模型的输入长度限制,文档需被强制切分为固定长度的文本块(如 512 tokens、1000 tokens)。
  • 关键局限:这种“硬切分”方式会切断完整的句子、段落逻辑或章节结构(如将一个完整的实验结论拆分为两个独立片段),导致文本语义碎片化,丢失关键的上下文关联,影响后续理解与推理。
  1. 无法整合对话历史
  • 核心问题:向量检索将每个用户查询视为独立请求,不关联历史对话内容。
  • 关键局限:无法支持多轮连续交互场景,例如用户先询问“2023年营收数据”,后续追问“该数据与2022年相比有何变化”时,检索器无法基于前序查询定位到同一文档的关联内容,需用户重复提供背景信息,影响交互效率与体验。
  1. 难以处理文档内交叉引用
  • 核心问题:文档中常见的“参见附录G”、“参考表5.3”等交叉引用,其引用语句与被引用内容的语义相似度极低。
  • 关键局限:向量检索无法识别这种“指向性关联”,若不额外构建知识图谱等预处理工具,会直接遗漏被引用的关键信息,导致检索结果不完整。

3、PageIndex如何解决上述痛点问题

传统基于向量的RAG存在查询与知识空间不匹配、语义相似不等于真实相关、硬切分破坏语义完整性、无法整合聊天历史、难以处理文档内交叉引用五大痛点,而以 PageIndex为代表的基于推理的RAG框架,通过模仿人类阅读长文档的逻辑,结合结构化索引与动态推理流程,针对性地解决了这些问题,具体方法如下:

  1. 解决 “查询与知识空间不匹配”:用推理定位信息位置,而非依赖语义相似。传统向量RAG仅通过匹配“语义相似文本”检索,无法衔接“查询意图”与“信息位置”;基于推理的RAG则让 LLM 通过文档结构推理确定检索方向。
  • 先读取文档的目录(ToC)或 JSON 层级索引,理解文档整体结构(如“财务摘要”“附录G”等章节分工);

  • 根据查询意图主动推断可能包含答案的章节,例如用户问“债务趋势”,LLM 会推理“债务相关内容通常在财务摘要或附录G”,直接定位到对应板块;

  • 以“意图-结构匹配”替代“文本-文本相似匹配”,填补查询与知识空间的gap。

  1. 解决“语义相似不等于真实相关”:聚焦“contextual relevance(上下文相关性)”,而非表面语义。针对专业文档中“语义相近但相关性差异大”的问题,基于推理的RAG通过上下文理解 + 结构化导航筛选真正相关的信息。
  • LLM先解析查询的核心需求(如 “2023 年营收同比变化”),而非机械提取关键词;

  • 结合目录索引解读各章节的实际含义(如 “2023 年财务报表” 章节 vs “2022 年财务回顾” 章节),排除语义相似但年份、主题不符的内容;

  • 直接检索 “能满足查询需求的章节”,而非 “与查询词语义最像的文本块”,例如在技术手册中,即使 “设备安装步骤” 与 “设备拆卸步骤” 语义相近,也能通过章节定位区分。

  1. 解决 “硬切分破坏语义与上下文完整性”:动态检索 “语义连贯单元”,而非固定长度文本块。传统向量 RAG 为适配嵌入模型,将文档切分为固定长度块(如 512 tokens),易断裂逻辑;基于推理的 RAG 则以完整语义单元为检索单位。
  • 以 “章节、段落、完整页面” 等天然语义单元作为检索对象,而非强制切割;

  • 若检测当前检索的单元信息不完整(如某章节仅包含 “营收增长数据”,缺少 “营收基数”),会自动迭代检索相邻单元(如下一章节、子节点内容),直到获取完整上下文;

  • 例如在法律文件中,能完整检索 “合同违约责任” 整节内容,而非被切分的 “违约责任第 1 条”、“违约责任第 2 条” 碎片。

  1. 解决 “无法整合聊天历史”:多轮推理关联历史上下文,实现连贯检索针对 “每轮查询独立处理” 的问题,基于推理的 RAG 将聊天历史融入检索决策。
  • 检索时会参考前序对话内容,明确当前查询的 “上下文背景”,例如用户先问 “2023 年金融资产”,后续问 “那负债呢”,LLM 会自动关联 “2023 年财务报表” 同一文档的 “负债” 章节;

  • 把历史查询的 “检索范围、已获取信息” 作为当前检索的依据,避免重复检索无关内容,同时支持递进式问题解答(如从 “营收数据” 到 “营收构成” 再到 “营收同比分析”)。

  1. 解决 “难以处理文档内交叉引用”:通过层级索引追踪引用,无需额外预处理。传统向量 RAG 因 “引用语句与被引用内容语义不相似”,无法识别 “参见附录 G”“参考表 5.3” 等关联;基于推理的 RAG 则借助结构化索引直接导航引用内容。
  • 文档的 JSON 层级索引包含所有章节、附录、表格的关联关系(如 “表 5.3”“附录 G” 均为独立节点,且有明确的 node_id);

  • 当 LLM 遇到交叉引用时,会通过索引定位到被引用的节点,直接检索对应内容,例如看到 “参见附录 G”,会从目录索引中找到 “附录 G” 节点,获取其下的 “统计表格” 数据;

  • 无需额外构建知识图谱等预处理工具,即可实现自动、精准的交叉引用追踪,例如在财报中,能通过 “表 5.3” 的引用定位到具体的收入、支出明细。

3、ToC结构

{ "structure": [ { "nodes": [ { "title": "Abstract", "node_id": "0001", "summary": "This text discusses the increasing importance of fine-tuning large language models (LLMs) for human intent alignment, highlighting the need for efficient resource utilization. It contrasts Reinforcement Learning from Human or AI Preferences (RLHF/RLAIF), which is complex and unstable, with Direct Preference Optimization (DPO), a simpler alternative. The work introduces an active learning strategy for DPO, proposing an acquisition function that uses predictive entropy and the certainty of the implicit preference model to improve the efficiency and effectiveness of fine-tuning with pairwise preference data.", "end_index": 1, "start_index": 1 }, { "nodes": [ { "title": "3.1. Acquisition functions", "node_id": "0005", "summary": "### 3.1. Acquisition functions\n\nIn selecting scoring methods (step 8 in 1) we aim for options that are straightforward to implement and do not require modifications to the model architectures or the fine-tuning procedure itself. This allows for a drop in addition to existing implementations. As a result, we propose using the predictive entropy of $p_{\\theta_t}(y|x)$ as well as a measure of certainty under the Bradley-Terry preference model, which leverages the implicit reward model in DPO.\n", "end_index": 4, "start_index": 3 } ], "title": "3 Active Preference Learning", "node_id": "0004", "summary": "This text introduces Active Preference Learning (APL), a machine learning paradigm for efficiently selecting the most informative data points during training, specifically within a pool-based active learning setting. The APL training procedure involves iteratively sampling prompts, generating pairs of completions using the current model, ranking these pairs with an acquisition function, selecting the highest-ranked pairs for preference labeling by an oracle, and then fine-tuning the model with these labeled preferences. This approach augments the standard DPO fine-tuning loop with an outer data acquisition loop, where the number of acquisition steps is determined by the labeling budget and batch size. A key difference from traditional active learning is the necessity of generating completions for acquired data before scoring, especially if the acquisition function requires them. The text also outlines crucial design considerations, including the selection of acquisition functions, fine-tuning implementation details, the choice of oracle, and experimental settings for sampling parameters. Algorithm 1 provides a detailed step-by-step breakdown of the entire APL procedure.", "end_index": 3, "start_index": 2 } ]}

4、PageIndex检索方式

文档检索

PageIndex会根据你的query先检索哪些文档相关联。文档检索大概有以下三种方式:

  • Metadata:文档元信息存储到数据库,可以根据元信息来查询相关联的文档(例如根据文档名称、文档摘要、文档标签等信息来筛选)
  • Semantics:和传统的基于向量的RAG一样,文档切片存储到向量库然后根据query召回文档切片,然后再根据召回的切片计算文档相关性得分()
  • Description:将文档列表给模型,让模型来推理哪些文档相关
prompt = f""" You are given a list of documents with their IDs, file names, and descriptions. Your task is to select documents that may contain information relevant to answering the user query.Query: {query}Documents: [ { "doc_id": "xxx", "doc_name": "xxx", "doc_description": "xxx" }]Response Format:{{ "thinking": "<Your reasoning for document selection>", "answer": <Python list of relevant doc_ids>, e.g. ['doc_id1', 'doc_id2']. Return [] if no documents are relevant.}}Return only the JSON structure, with no additional output."""

ToC树检索

让大模型根据目录树来推理相关联的node节点,获取到node节点内容之后再进行迭代式生成。

prompt = f"""You are given a query and the tree structure of a document.You need to find all nodes that are likely to contain the answer.Query: {query}Document tree structure: {PageIndex_Tree}Reply in the following JSON format:{{ "thinking": <your reasoning about which nodes are relevant>, "node_list": [node_id1, node_id2, ...]}}"""

除此之外,还支持混合树检索,例如基于chunk进行召回,筛选出node节点。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询