Este repositorio contiene ejemplos que muestran cómo PYMUPDF puede usarse como alimento de datos para chatbots basados en trapo.
Los ejemplos incluyen scripts que inician chatbots, ya sea como simples programas de CLI en modo replica o GUI basadas en el navegador. Los scripts de chatbot siguen esta estructura general:
El paquete Python en Pypi PymupDF4LLM (también hay un alias PDF4LLM) es capaz de convertir las páginas PDF en cadenas de texto en formato de Markdown (compatible con GitHub). Esto incluye texto estándar , así como texto basado en la mesa en una vista consistente e integrada, una característica particularmente importante en la configuración de RAG.
$ pip install -U pymupdf4llm
Este comando instalará automáticamente PymUpDF si es necesario.
Entonces en tu guión lo haz
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 ())
En lugar de la cadena del nombre de archivo como se indicó anteriormente, también se puede proporcionar un Document
PymUpDF. Por defecto, se procesarán todas las páginas en el PDF. Si lo desea, las pages=[...]
se pueden usar para proporcionar una lista de números de página basados en cero para considerar.
La creación de texto de Markdown ahora también procesa páginas de múltiples columnas .
Para crear pequeños trozos de texto , en lugar de generar una cadena grande para todo el documento, se puede usar la nueva opción (V0.0.2) page_chunks=True
. El resultado de .to_markdown("input.pdf", page_chunks=True)
será una lista de diccionarios de Python, uno para cada página.
También nuevo en la versión 0.0.2 es la extracción opcional de imágenes y gráficos vectoriales: uso de parámetro write_images=True
. Elaborará imágenes PNG en la carpeta del documento, y el texto de Markdown se referirá adecuadamente a ellas. Las imágenes se nombran como "input.pdf-page_number-index.png"
.
Documentación
API
Si bien PDF es, con mucho, el formato de documento más importante en todo el mundo, vale la pena mencionar que todos los ejemplos y scripts de ayuda funcionan de la misma manera y sin cambios para todos los tipos de archivos compatibles.
Entonces, para un documento XPS o un libro electrónico, simplemente proporcione el nombre de archivo, por ejemplo, como "input.mobi"
y todo lo demás funcionará como antes.
PymUpDF agrega enlaces y abstracciones de Python a MUPDF, un PDF , XPS y un visor de libros electrónicos , renderista y kit de herramientas. Tanto PymupdF como MUPDF son mantenidos y desarrollados por Artifex Software, Inc.
La página de inicio de Pymupdf se encuentra en Github.
Únase a nosotros en Discord aquí: #pymupdf.
PymUpDF está disponible en AGPL de código abierto y acuerdos de licencia comercial. Si determina que no puede cumplir con los requisitos del AGPL , comuníquese con Artifex para obtener más información sobre una licencia comercial.