O Autopdftagger é uma ferramenta Python projetada para uma organização eficiente de candidatos domésticos, com foco na digitalização e organização de documentos digitais e em papel. Ao automatizar a marcação de arquivos PDF, incluindo documentos ricos em imagem e verificações de qualidade variável, ele pretende otimizar a organização dos arquivos digitais.
Na era digital avançada, muitos documentos agora são entregues digitalmente, mas documentos significativos ainda geralmente chegam em papel. Olhando para um futuro digital, a consolidação desses documentos em um arquivo digital unificado se torna cada vez mais valioso. A digitalização simples usando câmeras de smartphone tornou isso prático. No entanto, a confiabilidade das tecnologias de OCR existentes e sua capacidade limitada de indexar efetivamente conteúdo não textual, como desenhos ou fotos, dificulta a pesquisa desses documentos. A Autopdftagger pretende preencher essa lacuna, oferecendo análise e organização assistida por A. PDF, aprimorando sua pesquisa e organização com um nível de precisão comparável ao esforço humano.
No momento, existe um protótipo funcional na forma de um programa terminal com um módulo Python, que demonstra sua funcionalidade e já alcançou resultados impressionantes para mim. Para uma aplicação mais ampla, muitas melhorias detalhadas são certamente necessárias, especialmente em testes, otimização de prisão, tratamento de erros e documentação.
Se você achar essa ferramenta útil e tiver idéias para melhorá -la, fique à vontade para contribuir. Embora eu não seja um programador em tempo integral e não estou me sentindo profissional, quaisquer sugestões ou aprimoramentos são bem-vindos. Envie relatórios de bug, solicitações de recursos ou qualquer outro feedback. Obrigado por parar!
$ pip install git+https://github.com/Uli-Z/autoPDFtaggerCrie arquivo de configuração e salve -o em ~/.autopdftager.conf :
; Configuration for autoPDFtagger
[DEFAULT]
language = {YOUR LANGUAGE}
[OPENAI-API]
API-Key = {INSERT YOUR API-KEY}O programa é fundamentalmente estruturado da seguinte maneira:
file analysis )text analysis )image analysis )tag analysis )Nota: Principalmente, (quase) todas as opções são combináveis. A ordem das etapas individuais é corrigida, no entanto; Eles são processados na ordem mencionada acima. Em vez disso, o uso da tubulação no terminal é explicitamente considerado, permitindo passar no estado do banco de dados para outra instância do programa. Isso faz com que a busca verifique e modifique cada etapa (por exemplo, análise de texto da primeira, depois filtrando por qualidade, seguida pela análise de imagem, depois re-filtrando e, finalmente, exportando os arquivos PDF). Usando JSON-Output, os resultados do programa podem ser canalizados diretamente para outra instância do programa.
$ 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 analysesLeia todos os arquivos PDF de uma pasta pdf_archive , faça uma análise básica de arquivos (-f) e armazene informações em um json-database files.json (-j [filename]):
$ autoPDFtagger ./pdf_archive --file-analysis --json allfiles.jsonLeia um JSON-DATABASE CRIEDADO ANTERIOR A FON AI-TEXT-ANALISIONS, armazenando os resultados em um novo arquivo JSON
$ autoPDFtagger allfiles.json --ai-text-analysis --json textanalysis.jsonFaça uma análise de imagem AI-I-I-IMAGE para todos os arquivos com metadados estimados de baixa qualidade.
$ autoPDFtagger textanalysis.json --keep-below --ai-image-analysis --json imageanalysis.jsonLembre -se de todos juntos, analise e organize tags
$ autoPDFtagger textanalysis.json imageanalysis.json --ai-tag-analysis --json final.jsonCopie os arquivos para uma nova pasta New_archive Configurar novos metadados e atribuir novos nomes de arquivos. A estrutura original da pasta permanece inalterada.
$ autoPDFtagger final.json -e ./new_archiveFaça tudo de uma vez:
$ autoPDFtagger pdf_archive -ftic -e new_archivemain.py : a interface do terminal para o aplicativo.autoPDFtagger.py : gerencia as principais funcionalidades da ferramenta.AIAgents.py : Classes Base para gerenciamento de agentes de IA, incluindo comunicação da API OpenAI.AIAgents_OPENAI_pdf.py : agentes específicos de IA dedicados ao texto, imagem e análise de tags.PDFDocument.py : lida com documentos PDF individuais, gerenciando os metadados leitura e escrita.PDFList.py : supervisiona um banco de dados de documentos em PDF, seus metadados e fornece funções de exportação.config.py : gerencia arquivos de configuração.autoPDFtagger_example_config.conf : um exemplo de configuração de arquivo de configuração, descrevendo a configuração da chave da API e outras configurações. GPL-3