Autopdftgger-это инструмент Python, предназначенный для эффективной организации домашнего офиса, сосредоточенного на оцифровке и организации как цифровых, так и на бумажных документах. Автоматируя тегирование файлов PDF, включая богатые изображениями документы и сканирование различного качества, он направлен на оптимизацию организации цифровых архивов.
В развивающемся цифровом эпохе многие документы теперь доставляются в цифровом виде, но значительные документы часто все еще поступают в бумажную форму. Глядя на цифровое будущее, консолидация этих документов в единый цифровой архив становится все более ценной. Простое сканирование с использованием смартфонов сделало это практичным. Тем не менее, надежность существующих технологий OCR и их ограниченная способность эффективно индексировать не текстовый контент, такой как чертежи или фотографии, препятствуют поиску этих документов. Autopdftgger стремится преодолеть этот разрыв, предлагая A-A-Advisted Analysis и организацию PDF-файлов, повышая их поиск и организацию с уровнем точности, сравнимой с человеческими усилиями.
На данный момент существует функциональный прототип в форме терминальной программы с модулем Python, который демонстрирует его функциональность и уже достигла впечатляющих результатов для меня. Для более широкого применения многие подробные улучшения, безусловно, необходимы, особенно при тестировании, оптимизация PROMT, обработку ошибок и документацию.
Если вы обнаружите этот инструмент полезным и имеете идеи, чтобы улучшить его, не стесняйтесь внести свой вклад. Хотя я не программист на полный рабочий день, и я вообще не чувствую себя профессионалом, любые предложения или улучшения приветствуются. Отправьте отчеты об ошибках, запросы функций или любые другие отзывы. Спасибо, что зашли!
$ pip install git+https://github.com/Uli-Z/autoPDFtaggerСоздайте файл конфигурации и сохраните его в ~/.autopdftgger.conf :
; Configuration for autoPDFtagger
[DEFAULT]
language = {YOUR LANGUAGE}
[OPENAI-API]
API-Key = {INSERT YOUR API-KEY}Программа принципиально структурирована следующим образом:
file analysis )text analysis )image analysis )tag analysis )Примечание: главным образом, (почти) все варианты объединяются. Однако порядок отдельных шагов фиксирован; Они обрабатываются в указанном выше порядке. Вместо этого явно рассматривается использование трубопроводов в терминале, что позволяет передать состояние базы данных в другой экземпляр программы. Это позволяет проверить и изменять каждый шаг (например, первый текстовый анализ, а затем фильтрация по качеству, с последующим анализом изображений, затем повторной фильтрации и, наконец, экспорта файлов PDF). Используя json-output, результаты программы могут быть переданы непосредственно к другому экземпляру программы.
$ autoPDFtagger --help
usage: autoPDFtagger [-h] [--config-file CONFIG_FILE] [-b [BASE_DIRECTORY]] [-j [JSON]] [-s [CSV]] [-d {0,1,2}] [-f] [-t] [-i] [-c] [-e [EXPORT]] [-l]
[--keep-above [KEEP_ABOVE]] [--keep-below [KEEP_BELOW]] [--calc-stats]
[input_items ...]
Smart PDF-analyzing Tool
positional arguments:
input_items List of input PDFs and folders, alternativly you can use a JSON- or CSV-file
options:
-h , --help show this help message and exit
--config-file CONFIG_FILE
Specify path to configuration file. Defaults to ~ /.autoPDFtagger.conf
-b [BASE_DIRECTORY], --base-directory [BASE_DIRECTORY]
Set base directory
-j [JSON], --json [JSON]
Output JSON-Database to stdout. If filename provided, save it to file
-s [CSV], --csv [CSV]
Output CSV-Database to specified file
-d {0,1,2}, --debug {0,1,2}
Debug level (0: no debug, 1: basic debug, 2: detailed debug)
-f , --file-analysis Try to conventionally extract metadata from file, file name and folder structure
-t , --ai-text-analysis
Do an AI text analysis
-i, --ai-image-analysis
Do an AI image analysis
-c , --ai-tag-analysis
Do an AI tag analysis
-e [EXPORT], --export [EXPORT]
Copy Documents to a target folder
-l, --list List documents stored in database
--keep-above [KEEP_ABOVE]
Before applying actions, filter out and retain only the documents with a confidence index greater than or equal to a specific
value (default: 7).
--keep-below [KEEP_BELOW]
Analogous to --keep-above. Retain only document with an index less than specified.
--calc-stats Calculate statistics and (roughly ! ) estimate costs for different analysesПрочитайте все файлы PDF из папки PDF_ARCHIVE , выполните базовый анализ файлов (-f) и сохраните информацию в файлах json-database.json (-j [filename]):
$ autoPDFtagger ./pdf_archive --file-analysis --json allfiles.jsonПрочитайте предыдущий созданный JSON-Database A-AI-TEXT-анализ, сохраняя результаты в новом файле JSON
$ autoPDFtagger allfiles.json --ai-text-analysis --json textanalysis.jsonСделайте анализ AI-IMAGE для всех файлов с оценочными низкокачественными метаданными.
$ autoPDFtagger textanalysis.json --keep-below --ai-image-analysis --json imageanalysis.jsonВспоминать все вместе, анализировать и организовать теги
$ autoPDFtagger textanalysis.json imageanalysis.json --ai-tag-analysis --json final.jsonСкопируйте файлы в новую папку New_archive Установить новые метаданные и назначать новые имена файлов. Оригинальная структура папок остается неизменной.
$ autoPDFtagger final.json -e ./new_archiveДелайте все сразу:
$ autoPDFtagger pdf_archive -ftic -e new_archivemain.py : интерфейс терминала для приложения.autoPDFtagger.py : управляет основными функциями инструмента.AIAgents.py : базовые классы для управления агентами AI, включая общение API OpenAI.AIAgents_OPENAI_pdf.py : конкретные агенты ИИ, посвященные анализу текста, изображения и тегов.PDFDocument.py : обрабатывает отдельные документы PDF, управление чтением и письмом метаданных.PDFList.py : контролирует базу данных PDF -документов, их метаданные и предоставляет функции экспорта.config.py : управляет файлами конфигурации.autoPDFtagger_example_config.conf : пример настройки файла конфигурации настройки API и другие настройки. GPL-3