Skip to content

Schofi/PageIndex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PageIndex

📄 页索引:基于推理的 RAG 文档索引系统,支持deepseek v3模型,兼容其他openai接口模型

"PageIndex"的PDF文档结构分析工具。它能够自动解析PDF文档,提取目录结构,并生成带有页码的文档大纲。该项目的主要功能包括:

核心功能

  1. 目录结构提取 :自动检测和提取PDF文档中的目录结构
  2. 页码映射 :将目录项与实际页面关联起来
  3. 层次化结构生成 :构建文档的层次化目录树
  4. 大型节点递归处理 :能够处理超过设定页数或令牌数的大型章节

实现方式

项目使用以下方法解析PDF文档:

  1. 目录检测流程
  • 检查文档前几页是否存在目录
  • 判断目录是否包含页码信息
  • 根据不同情况选择适当的处理策略
  1. 处理策略
  • 有目录有页码:直接提取目录结构和页码,映射到实际位置
  • 有目录无页码:提取目录结构,通过AI分析内容确定页码
  • 无目录:通过AI分析整个文档生成结构
  1. AI辅助分析
  • 使用OpenAI的API(如gpt-4o模型)分析文档内容
  • 识别章节标题在页面中的位置
  • 验证提取结构的准确性并修复问题

文件结构

  • run_pageindex.py:主脚本,处理命令行参数和运行流程
  • page_index.py:核心功能实现,包含目录结构提取、页码映射等逻辑
  • utils.py:工具函数,包括PDF文本提取、API调用、JSON处理等
  • config.yaml:配置文件,定义各种参数设置

配置选项

工具支持多种配置参数:

  • 使用的AI模型
  • 检查目录的最大页数
  • 每个节点的最大页数和令牌数
  • 是否添加节点ID、节点摘要和文档描述

处理流程

  1. 读取PDF文档并提取文本内容
  2. 检测是否存在目录及其格式
  3. 根据检测结果选择处理方法
  4. 生成初始结构并验证准确性
  5. 修复不准确的部分
  6. 对大型节点进行递归处理
  7. 添加节点ID、摘要等附加信息
  8. 输出最终的JSON结构

这个工具特别适合处理大型PDF文档,如学术论文、书籍、技术文档等,帮助用户快速理解文档结构。

About

📄 页索引:基于推理的 RAG 文档索引系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages