Parsing pdf using gptpdf
📼

Parsing pdf using gptpdf

Tags
Published
July 1, 2024
Author
 

概要

使用视觉大语言模型(如 GPT-4o)将 PDF 解析为 markdown。
我们的方法非常简单(只有293行代码),但几乎可以完美地解析排版、数学公式、表格、图片、图表等。
每页平均价格:0.013 美元
我们使用 GeneralAgent lib 与 OpenAI API 交互。
pdfgpt-ui 是一个基于 gptpdf 的可视化工具。
 

实现

处理流程

  1. 使用 PyMuPDF 库,对 PDF 进行解析出所有非文本区域,并做好标记,比如:
notion image
  1. 使用视觉大模型(如 GPT-4o)进行解析,得到 markdown 文件。

样例

安装

pip install gptpdf

使用

from gptpdf import parse_pdf api_key = 'Your OpenAI API Key' content, image_paths = parse_pdf(pdf_path, api_key=api_key) print(content)
更多内容请见 test/test.py

API

parse_pdf(pdf_path, output_dir='./', api_key=None, base_url=None, model='gpt-4o', verbose=False)
将 pdf 文件解析为 markdown 文件,并返回 markdown 内容和所有图片路径列表。
  • pdf_path:pdf 文件路径
  • output_dir:输出目录。存储所有图片和 markdown 文件
  • api_key:OpenAI API 密钥(可选)。如果未提供,则使用 OPENAI_API_KEY 环境变量。
  • base_url:OpenAI 基本 URL。(可选)。如果未提供,则使用 OPENAI_BASE_URL 环境变量。
  • model:OpenAI API格式的多模态大模型,默认为 “gpt-4o”。 如果您需要使用其他模型,例如 qwen-vl-max (尚未测试)
    • GLM-4V, 可以通过修改环境变量 OPENAI_BASE_URL 或 指定API参数 base_url 来使用。 (已经测试)
      您也可以通过将 base_url 指定为 https://xxxx.openai.azure.com/ 来使用 Azure OpenAI,api_key 是 Azure API 密钥,模型类似于 'azure_xxxx',其中 xxxx 是部署的模型名称(不是 openai 模型名称)(已经测试)
  • verbose:详细模式
  • gpt_worker: gpt解析工作线程数,默认为1. 如果您的机器性能较好,可以适当调高,以提高解析速度。
 

结果

 
notion image