PyMuPDF LLM/RAG 工具
项目描述
在LLM / RAG应用中使用PyMuPDF作为数据源
此软件包使用PyMuPDF将PDF页面转换为Markdown格式的文本。
检测标准文本和表格,按照正确的阅读顺序引入,然后一起转换为GitHub兼容的Markdown文本。
通过字体大小识别标题行,并相应地使用一个或多个'#'标签进行前缀。
检测并格式化粗体、斜体、等宽文本和代码块。类似的规则适用于有序和无序列表。
默认情况下,处理所有文档页面。如果需要,可以通过提供基于0的页面数字列表来指定页面子集。
安装
$ pip install -U pymupdf4llm
此命令将在需要时自动安装PyMuPDF。
然后在您的脚本中执行
import pymupdf4llm
md_text = pymupdf4llm.to_markdown("input.pdf")
# now work with the markdown text, e.g. store as a UTF8-encoded file
import pathlib
pathlib.Path("output.md").write_bytes(md_text.encode())
如上所示的文件名字符串,也可以提供一个PyMuPDF Document
。默认情况下,将处理PDF中的所有页面。如果需要,可以使用参数pages=[...]
提供要考虑的基于0的页面数字列表。
功能概述
-
支持具有多个文本列的页面。
-
支持图像和矢量图形提取。
- 指定
pymupdf4llm.to_markdown("input.pdf", write_images=True)
。默认为False
。 - 页面上的每个图像或矢量图形都将被提取并存储在您选择的文件夹中,命名为
"input.pdf-pno-index.extension"
。图像extension
可以选为表示PyMuPDF支持的图像格式(例如 "png" 或 "jpg"),pno
是基于0的页面编号,index
是某个序列号。 - 图像文件的宽度和高度将与页面上的值相等。可以通过参数
dpi
(默认:dpi=150
)选择所需的分辨率。 - 图像或图形中包含的任何文本将被提取,并且也将作为生成图像的一部分可见。此行为可以通过
force_text=False
(文本仅作为图像的一部分出现)来更改。
- 指定
-
支持
页面块
:而不是为整个文档返回一个长字符串,可以生成一个字典列表:一个用于每一页。指定data = pymupdf4llm.to_markdown("input.pdf", page_chunks=True)
。然后,例如第一个项目,data[0]
将包含第一页的文本和一些元数据。 -
作为直接支持 LLM / RAG 消费者的第一个示例,此版本可以输出 LlamaIndex 文档
import pymupdf4llm md_read = LlamaMarkdownReader() data = md_read.load_data("input.pdf") # The result 'data' is of type List[LlamaIndexDocument] # Every list item contains metadata and the markdown text of 1 page.
- LlamaIndex 文档基本上对应于 Python 字典,其中页面的 markdown 文本是字典值之一。例如,第一页的文本是
data[0].to_dict().["text"]
的值。 - 有关详细信息,请参阅 LlamaIndex 文档。
- 在创建
LlamaMarkdownReader
时,将执行所有必要的 LlamaIndex 相关导入。必须独立安装所需的关联包,并在安装 pymupdf4llm 时不会进行检查。
- LlamaIndex 文档基本上对应于 Python 字典,其中页面的 markdown 文本是字典值之一。例如,第一页的文本是
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分布
pymupdf4llm-0.0.17.tar.gz (25.2 kB 查看哈希)
构建分布
pymupdf4llm-0.0.17-py3-none-any.whl (26.2 kB 查看哈希)
关闭
pymupdf4llm-0.0.17.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 27287ef9fe0217cf37841a3ef2bcf70da2553c43d95ea39b664a6de6485678c3 |
|
MD5 | fa3852b887cc9e22b90656ec2b4db426 |
|
BLAKE2b-256 | 2e3c1a530a410bdf76d83289bf30b3b86236d338b3f5f21842790c2cf7e9c1f6 |
关闭
pymupdf4llm-0.0.17-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 26de9996945f15e3ca507908f80dc18a959f5b5214bb2e302c7f7034089665a0 |
|
MD5 | 211352ae67375461ab19e7cb0765236b |
|
BLAKE2b-256 | aeaf1576ecfc8a62d31c0c8b34b856e52f6b05f1d76546dbac0e1d037f044a9e |