【PDF提取神器】针对LLM推出的PymuPDF4llm库 可提取pdf中的文字/表格/图像/单词

news/2024/11/7 17:14:22/

目录

前言

pdf4llm-toc" style="margin-left:0px;">安装Pymupdf4llm

多模态具体应用

API 文档


前言

PymuPDF4llm 是最新推出的pdf提取工具,针对LLM进行了专门优化,它支持markdown提取和LlamaIndex文档输出,可以准确提取pdf中的结构化数据,包括文字/表格/图像/单词,其中文字以markdown的形式提取,图像则以路径的形式插入到文字中并且存储在对应路径中。使用PymuPDF4llm 获取多模态数据后,多模态LLM可以利用各种图文信息来执行更多样的任务,提高应用程序的性能。在试用之后发现文字和图像的识别效果很不错,表格和单词由于场景较少所以暂时没有直观体验。


pdf4llm">安装Pymupdf4llm

pip install pymupdf4llm

简单使用,提取markdown格式文本:

import pymupdf4llm

# 提取 markdown 格式的文本

md_text = pymupdf4llm.to_markdown(doc="input.pdf")

print(md_text)

# 存储为 markdown 格式的文件

import pathlib

output_file = pathlib.Path("output.md")

output_file.write_bytes(md_text.encode())

复杂使用,提取文本、图像、表格、单词并以字典形式保存。扩展 to_markdown 函数的参数:

md_text = pymupdf4llm.to_markdown(doc="input.pdf",  # 输入文档
                                                             pages = [0, 1, 2],  # 选中页码
                                                             page_chunks = True,  # 进行chunk切分
                                                             write_images = True,  # 提取图片
                                                             image_path = "/content/images",  # 图片保存路径
                                                             image_format = "jpg",  # 图片保存格式
                                                             dpi = 200,  # 图片分辨率
                                                             extract_words = True)  # 提取单词

多模态具体应用

更多详细信息可阅读以下实践和api文档 

Building a Multimodal LLM Application with PyMuPDF4LLM

API 文档

https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/index.html


http://www.ppmy.cn/news/1545124.html

相关文章

RFID标签实现企业资产智能化管理

一、RFID技术概述 1.1 RFID技术原理 RFID(无线射频识别)技术是一种利用无线电波进行自动识别目标对象并获取相关数据的技术。其核心原理基于电磁感应定律和电磁波的空间传播规律,通过无线电频率信号实现非接触式的数据通信和识别。 在RFID…

深入解析Vue3:从入门到实战(详细版)

文章目录 前言一、Vue3简介官网地址主要特点 二、安装与创建Vue3项目使用Vue CLI创建项目使用Vite创建项目 三、Composition API详解Setup函数ref与Reactive生命周期钩子计算属性和监听器 四、新特性与优化响应式系统更好的TypeScript支持类型定义类型推断新组件全局API重构更好…

如何在算家云搭建Aatrox-Bert-VITS2(音频生成)

一、模型介绍 ‌ Aatrox - Bert -VITS2 模型是一种基于深度学习的语音合成系统,结合了 BERT 的预训练能力和 VITS2 的微调技术,旨在实现高质量的个性化语音合成。 二、模型搭建流程 1. 创建容器实例 进入算家云的“应用社区”,点击搜索找到…

【物联网技术】ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式介绍与AT指令介绍

前言:本文对ESP8266 WIFI模块STA、AP、STA+AP、TCP/UDP透传工作模式进行介绍;以及AT指令介绍,包括基础AT指令,WIFI功能AT指令、TCP/IP相关AT指令、常用AT指令实例进行介绍。 ESP8266 WIFI模块的接线及固件烧写可参考我的这篇博客:正点原子ATK-ESP8266 WIFI模块接线及固件…

【go从零单排】go中的三种数据类型array、slices、maps

Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 array数组 package mainimport "fmt"func main() {var a [5]int //var关键字定义数组,[5]表…

51单片机教程(二)- 创建项目

1 创建项目 创建项目存储文件夹:C51Project 打开Keil5软件,选择 Project -> New uVision Project: 选择项目路径,即刚才创建的文件夹 选择芯片,选择 Microchip(微型集成电路)&#xff0…

《Java 实现选择排序:原理剖析与代码详解》

目录 一、引言 二、选择排序原理 三、代码分析 1. 代码整体结构 2. main方法 3. sort方法(选择排序核心逻辑) 四、测试结果 一、引言 排序算法在计算机科学领域中是非常重要的一部分,它能够帮助我们将无序的数据按照特定的顺序进行排列…

如何在AI时代突破程序员的瓶颈:从工具型思维到创新型开发20241107

🚀 如何在AI时代突破程序员的瓶颈:从工具型思维到创新型开发 随着技术的飞速发展,AI已经从科研实验室进入到开发者的日常工作中。对于许多程序员,尤其是那些工作多年的开发者而言,AI不仅仅是一个新兴的工具&#xff0…