«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Извлечение данных из сложных PDF-файлов с помощью Google Gemini в строках Python

Извлечение данных из сложных PDF-файлов с помощью Google Gemini в строках Python

Опубликовано 17 августа 2024 г.
Просматривать:382

В этом руководстве я покажу вам, как извлекать структурированные данные из PDF-файлов с помощью моделей визуального языка (VLM), таких как Gemini Flash или GPT-4o.

Gemini, последняя серия моделей визуального языка от Google, продемонстрировала высочайший уровень понимания текста и изображений. Эти улучшенные мультимодальные возможности и длинное контекстное окно делают его особенно полезным для обработки визуально сложных данных PDF, с которыми трудно справиться традиционным моделям извлечения, таких как рисунки, диаграммы, таблицы и диаграммы.

Таким образом, вы можете легко создать свой собственный инструмент извлечения данных для извлечения визуальных файлов и веб-страниц. Вот как:

Длинное контекстное окно и мультимодальные возможности Gemini делают его особенно полезным для обработки визуально сложных данных PDF, где традиционные модели извлечения не справляются.

Настройка среды

Прежде чем мы углубимся в извлечение, давайте настроим нашу среду разработки. В этом руководстве предполагается, что в вашей системе установлен Python. Если нет, загрузите и установите его с https://www.python.org/downloads/

⚠️ Обратите внимание: если вы не хотите использовать Python, вы можете использовать облачную платформу thepi.pe для загрузки файлов и скачивания результатов в формате CSV без написания кода.

Установите необходимые библиотеки

Откройте терминал или командную строку и выполните следующие команды:

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

Для новичков в Python: pip — это установщик пакетов для Python, и эти команды загрузят и установят необходимые библиотеки.

Настройте свой ключ API

Чтобы использовать thepipe, вам понадобится ключ API.

Отказ от ответственности: thepi.pe — бесплатный инструмент с открытым исходным кодом, но стоимость API составляет примерно 0,00002 доллара США за токен. Если вы хотите избежать таких затрат, ознакомьтесь с инструкциями по локальной настройке на GitHub. Обратите внимание, что вам все равно придется платить выбранному вами поставщику LLM.

Вот как его получить и настроить:

  1. Посетите https://thepi.pe/platform/
  2. Создайте учетную запись или войдите в систему
  3. Найдите свой ключ API на странице настроек

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

Теперь вам нужно установить это как переменную среды. Этот процесс зависит от вашей операционной системы:

  • Скопируйте ключ API из меню настроек на платформе thepi.pe

Для Windows:

  1. Найдите «Переменные среды» в меню «Пуск».
  2. Нажмите «Изменить переменные системной среды»
  3. Нажмите кнопку «Переменные среды»
  4. В разделе «Пользовательские переменные» нажмите «Создать»
  5. Установите имя переменной как THEPIPE_API_KEY, а значение — как ключ API
  6. Нажмите «ОК», чтобы сохранить

Для macOS и Linux:
Откройте терминал и добавьте следующую строку в файл конфигурации оболочки (например, ~/.bashrc или ~/.zshrc):

export THEPIPE_API_KEY=your_api_key_here

Затем перезагрузите конфигурацию:

source ~/.bashrc # or ~/.zshrc

Определение схемы извлечения

Ключом к успешному извлечению является определение четкой схемы данных, которые вы хотите извлечь. Допустим, мы извлекаем данные из документа ведомости объемов:

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

Пример страницы из документа «Количественная ведомость». Данные на каждой странице не зависят от других страниц, поэтому мы выполняем извлечение «постранично». На каждой странице необходимо извлечь несколько фрагментов данных, поэтому мы устанавливаем для нескольких извлечений значение True

Глядя на имена столбцов, мы можем извлечь такую ​​схему:

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

Вы можете изменить схему по своему вкусу на платформе thepi.pe. Нажав «Просмотреть схему», вы получите схему, которую вы можете скопировать и вставить для использования с API Python

Image description

Извлечение данных из PDF-файлов

Теперь давайте воспользуемся Extract_from_file для извлечения данных из 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"
)

Здесь мы используем chunking_method="chunk_by_page", потому что мы хотим отправлять каждую страницу в модель искусственного интеллекта индивидуально (PDF слишком велик, чтобы передать все сразу). Мы также устанавливаем Multiple_extractions=True, поскольку каждая страница PDF содержит несколько строк данных. Вот как выглядит страница из PDF-файла:

Image description

Результаты извлечения PDF-файла с объемами работ, просмотренные на платформе thepi.pe

Обработка результатов

Результаты извлечения возвращаются в виде списка словарей. Мы можем обработать эти результаты, чтобы создать DataFrame pandas:

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

При этом создается DataFrame со всей извлеченной информацией, включая текстовое содержимое и описания визуальных элементов, таких как рисунки и таблицы.

Экспорт в разные форматы

Теперь, когда у нас есть данные в DataFrame, мы можем легко экспортировать их в различные форматы. Вот несколько вариантов:

Экспорт в Excel

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

При этом создается файл Excel с именем «extracted_research_data.xlsx» и листом с именем «Данные исследования». Параметр index=False предотвращает включение индекса DataFrame в качестве отдельного столбца.

Экспорт в CSV

Если вы предпочитаете более простой формат, вы можете экспортировать в CSV:

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

При этом создается файл CSV, который можно открыть в Excel или любом текстовом редакторе.

Заключительные примечания

Ключ к успешному извлечению лежит в определении четкой схемы и использовании мультимодальных возможностей модели ИИ. По мере того, как вы освоитесь с этими методами, вы сможете изучить более продвинутые функции, такие как настраиваемые методы фрагментирования, настраиваемые подсказки для извлечения и интеграцию процесса извлечения в более крупные конвейеры данных.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/emcf/extracting-data-from-tricky-pdfs-with-google-gemini-in-10-lines-of-python-7ni?1 При наличии каких-либо нарушений , пожалуйста, свяжитесь с Study_golang @163.comdelete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3