智能体与多智能体

PageIndex:面向长文档的无向量、推理式 RAG

vectifyai/pageindex

PageIndex 是一个 Python 项目,用于创建层级化文档索引,并在不使用向量数据库或人工分块的情况下执行基于推理的检索。它支持对 PDF 和 Markdown 文档进行自托管处理,并提供可选的智能体 RAG 示例及托管 MCP/API 服务。

★ 35K星级
⑂ 3.1KFork 数
143未解决的问题
Python语言
MIT许可证
Q@project.QualityScore编辑评分

概览

PageIndex 将长文档转换为类似目录的语义树,包含章节、页码范围、摘要和可选节点标识符。LLM 或智能体可搜索这一结构,并依据文档上下文而非向量相似度定位相关章节。仓库报告有 34,965 个 star、3,064 个 fork 和 143 个开放 issue;该仓库未归档。

主要功能

  • 基于文档结构和 LLM 推理的无向量检索
  • 带章节和页码引用的层级树索引
  • 无需人工分块的自然章节组织
  • 具备上下文感知能力、由推理驱动的树搜索
  • 可选节点标识符、摘要和文档描述
  • 支持 PDF 和 Markdown 输入
  • 用于启发式 PDF 结构提取的预览版 PageIndex Flash 模式
  • 使用 OpenAI Agents SDK 的自托管智能体 RAG 示例
  • 基于视觉的无向量 RAG notebook
  • 托管聊天、MCP、API 和企业部署选项

要求、安装和快速入门

在仓库根目录中,使用 `pip3 install --upgrade -r requirements.txt` 安装声明的依赖项。创建包含 LLM 提供商密钥的 `.env` 文件;文档示例为 `OPENAI_API_KEY=your_openai_key_here`。对于可选的智能体示例,使用 `pip3 install openai-agents` 安装 `openai-agents`。

用法

PDF 快速开始:`python3 run_pageindex.py --pdf_path /path/to/your/document.pdf`。Markdown:`python3 run_pageindex.py --md_path /path/to/your/document.md`。Flash 预览模式:`python3 run_pageindex.py --flash --pdf_path /path/to/your/document.pdf`;添加 `--optimize` 可启用 LLM 扩展步骤。使用 `python3 examples/agentic_vectorless_rag_demo.py` 运行智能体示例。可选设置涵盖模型、目录扫描页数、每个节点最大页数或 token 数、节点 ID、节点摘要和文档描述。

模型兼容性与使用场景

通过 LiteLLM 支持多个 LLM 提供商。文档中列出的默认模型为 `gpt-4o-2024-11-20`,设置示例使用 OpenAI API 密钥。智能体演示使用 OpenAI Agents SDK。完整的已测试或支持模型列表未在仓库元数据中说明。

许可证与风险说明

仓库元数据将许可证标识为 MIT。许可证参考:https://api.github.com/licenses/mit。所提供的仓库记录未说明额外许可证例外或依赖项许可证详情。

发布与维护

README 重点提到使用自托管 PageIndex 和 OpenAI Agents SDK 的智能体无向量 RAG 示例、用于语料库级索引的 PageIndex File System、PageIndex Chat、MCP/API 访问,以及作为预览功能的 PageIndex Flash。正式标签发布名称、版本和发布日期未在仓库元数据中说明。

Firecrawl

firecrawl/firecrawl

★ 161.1KTypeScript

LangChain

langchain-ai/langchain

★ 143.6KPython

RAGFlow

infiniflow/ragflow

★ 86.7KGo