"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Extracción de datos de archivos PDF complicados con Google Gemini en líneas de Python

Extracción de datos de archivos PDF complicados con Google Gemini en líneas de Python

Publicado el 2024-08-17
Navegar:347

En esta guía, te mostraré cómo extraer datos estructurados de archivos PDF utilizando modelos de visión y lenguaje (VLM) como Gemini Flash o GPT-4o.

Gemini, la última serie de modelos de visión y lenguaje de Google, ha demostrado un rendimiento de vanguardia en la comprensión de textos e imágenes. Esta capacidad multimodal mejorada y su larga ventana de contexto lo hacen particularmente útil para procesar datos PDF visualmente complejos con los que tienen problemas los modelos de extracción tradicionales, como figuras, gráficos, tablas y diagramas.

Al hacerlo, puede crear fácilmente su propia herramienta de extracción de datos para archivos visuales y extracción web. Así es como:

La larga ventana de contexto y la capacidad multimodal de Gemini lo hacen particularmente útil para procesar datos PDF visualmente complejos donde los modelos de extracción tradicionales tienen dificultades.

Configurando su entorno

Antes de sumergirnos en la extracción, configuremos nuestro entorno de desarrollo. Esta guía asume que tiene Python instalado en su sistema. De lo contrario, descárguelo e instálelo desde https://www.python.org/downloads/

⚠️ Tenga en cuenta que, si no desea utilizar Python, puede utilizar la plataforma en la nube en thepi.pe para cargar sus archivos y descargar el resultado como CSV sin escribir ningún código.

Instalar las bibliotecas necesarias

Abre tu terminal o símbolo del sistema y ejecuta los siguientes comandos:

pip install git https://github.com/emcf/thepipe
pip install pandas

Para aquellos nuevos en Python, pip es el instalador de paquetes para Python, y estos comandos descargarán e instalarán las bibliotecas necesarias.

Configure su clave API

Para usar thepipe, necesitas una clave API.

Descargo de responsabilidad: Si bien thepi.pe es una herramienta gratuita de código abierto, la API tiene un costo de aproximadamente $0,00002 por token. Si desea evitar dichos costos, consulte las instrucciones de configuración local en GitHub. Tenga en cuenta que aún tendrá que pagarle al proveedor de LLM de su elección.

A continuación se explica cómo obtenerlo y configurarlo:

  1. Visita https://thepi.pe/platform/
  2. Crea una cuenta o inicia sesión
  3. Encuentre su clave API en la página de configuración

Extracting Data from Tricky PDFs with Google Gemini in lines of Python

Ahora, debe configurar esto como una variable de entorno. El proceso varía dependiendo de tu sistema operativo:

  • Copia la clave API desde el menú de configuración de la Plataformapi.pe

Para Windows:

  1. Busque "Variables de entorno" en el menú Inicio
  2. Haga clic en "Editar las variables de entorno del sistema"
  3. Haga clic en el botón "Variables de entorno"
  4. En "Variables de usuario", haga clic en "Nuevo"
  5. Establece el nombre de la variable como THEPIPE_API_KEY y el valor como tu clave API
  6. Haga clic en "Aceptar" para guardar

Para macOS y Linux:
Abra su terminal y agregue esta línea a su archivo de configuración de shell (por ejemplo, ~/.bashrc o ~/.zshrc):

export THEPIPE_API_KEY=your_api_key_here

Luego, recarga tu configuración:

source ~/.bashrc # or ~/.zshrc

Definición de su esquema de extracción

La clave para una extracción exitosa es definir un esquema claro para los datos que desea extraer. Digamos que estamos extrayendo datos de un documento de lista de cantidades:

Extracting Data from Tricky PDFs with Google Gemini in lines of Python

Un ejemplo de una página del documento de lista de cantidades. Los datos de cada página son independientes de las otras páginas, por lo que hacemos nuestra extracción "por página". Hay varios datos para extraer por página, por lo que configuramos las extracciones múltiples en Verdadero

Al observar los nombres de las columnas, es posible que deseemos extraer un esquema como este:

schema = {
  "item": "string",
  "unit": "string",
  "quantity": "int",
}

Puedes modificar el esquema a tu gusto en la Plataforma pi.pe. Al hacer clic en "Ver esquema", obtendrá un esquema que puede copiar y pegar para usarlo con la API de Python

Image description

Extraer datos de archivos PDF

Ahora, usemos extract_from_file para extraer datos de un PDF:

from thepipe.extract import extract_from_file
results = extract_from_file(
  file_path = "bill_of_quantity.pdf",
  schema = schema,
  ai_model = "google/gemini-flash-1.5b",
  chunking_method = "chunk_by_page"
)

Aquí tenemos chunking_method="chunk_by_page" porque queremos enviar cada página al modelo de IA individualmente (el PDF es demasiado grande para alimentarlo todo a la vez). También configuramos multiple_extractions=True porque cada una de las páginas PDF contiene varias filas de datos. Así es como se ve una página del PDF:

Image description

Los resultados de la extracción del PDF de la Lista de Cantidades vistos en la Plataforma pi.pe

Procesando los resultados

Los resultados de la extracción se devuelven como una lista de diccionarios. Podemos procesar estos resultados para crear un DataFrame de pandas:

import pandas as pd
df = pd.DataFrame(results)
# Display the first few rows of the DataFrame
print(df.head())

Esto crea un DataFrame con toda la información extraída, incluido el contenido textual y descripciones de elementos visuales como figuras y tablas.

Exportar a diferentes formatos

Ahora que tenemos nuestros datos en un DataFrame, podemos exportarlos fácilmente a varios formatos. Aquí hay algunas opciones:

Exportar a Excel

df.to_excel("extracted_research_data.xlsx", index=False, sheet_name="Research Data")

Esto crea un archivo de Excel llamado "extracted_research_data.xlsx" con una hoja llamada "Datos de investigación". El parámetro index=False evita que el índice del DataFrame se incluya como una columna independiente.

Exportar a CSV

Si prefieres un formato más simple, puedes exportar a CSV:

df.to_csv("extracted_research_data.csv", index=False)

Esto crea un archivo CSV que se puede abrir en Excel o en cualquier editor de texto.

Notas finales

La clave para una extracción exitosa radica en definir un esquema claro y utilizar las capacidades multimodales del modelo de IA. A medida que se sienta más cómodo con estas técnicas, podrá explorar funciones más avanzadas, como métodos de fragmentación personalizados, indicaciones de extracción personalizadas e integración del proceso de extracción en canales de datos más grandes.

Declaración de liberación Este artículo se reproduce en: https://dev.to/emcf/extracting-data-from-tricky-pdfs-with-google-gemini-in-10-lines-of-python-7ni?1 Si hay alguna infracción , comuníquese con Study_golang @ 163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3