Text-Extract-API: Transformando Documentos em Dados Estruturados Sem Dor de Cabeça
Precisa extrair dados de um relatório em PDF ou documento digitalizado? O pesadelo familiar de copiar texto manualmente, lidar com tabelas tortas e perder fórmulas? Text-extract-api oferece uma solução elegante para esse problema, combinando tecnologias OCR modernas e modelos de linguagem.
O que é esta ferramenta?
Text-extract-api é uma API Python que permite:
- Converter PDF, Word, PowerPoint e imagens para Markdown ou JSON
- Extrair tabelas, números e fórmulas matemáticas
- Limpar documentos de dados pessoais (PII)
- Melhorar a qualidade do reconhecimento usando modelos LLM (Llama 3, MiniCPM e outros)
A principal vantagem é que tudo funciona localmente sem enviar dados para serviços em nuvem.
Principais funcionalidades
1. Suporte para vários formatos e estratégias de reconhecimento
O projeto suporta vários motores OCR:
- EasyOCR — para reconhecimento rápido de texto em mais de 30 idiomas
- MiniCPM-V — modelo aberto para uso comercial
- Llama 3.2 Vision — opção mais precisa, mas que exige mais recursos
- API Remota — para integração com serviços externos como Marker PDF
Exemplo de comando para conversão:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. Melhoria de texto usando LLM
Após o reconhecimento, o texto pode ser processado por um modelo de linguagem:
- Correção de erros de OCR
- Extração de dados estruturados (ex.: converter um relatório médico para JSON)
- Remoção de dados pessoais
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. Armazenamento flexível de resultados
São suportadas várias estratégias para armazenar documentos processados:
- Sistema de arquivos local
- Google Drive
- Amazon S3
A configuração via arquivos YAML facilita a adaptação do sistema às suas necessidades.
Detalhes técnicos
A arquitetura do projeto é construída sobre:
- FastAPI para API REST
- Celery para processamento assíncrono de tarefas
- Redis para cache de resultados
- Ollama para trabalhar com modelos LLM locais
Duas opções de implantação são oferecidas:
- Execução nativa (útil para Mac com Apple Silicon)
- Containers Docker (incluindo versão com aceleração GPU)
Aplicações práticas
Onde text-extract-api pode ser útil?
Escritórios de advocacia podem automatizar o processamento de digitalizações de contratos, extraindo termos importantes para um formato estruturado.
Instalações médicas terão uma ferramenta para converter relatórios em papel para registros eletrônicos sem entrada manual de dados.
Startups de fintech poderão analisar extratos bancários e faturas, extraindo dados para sistemas contábeis.
Pesquisadores apreciarão a capacidade de digitalizar livros antigos e artigos científicos preservando fórmulas e tabelas.
Comece em 5 minutos
- Instale Docker e Ollama
- Clone o repositório:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- Inicie os serviços:
docker-compose up --build
- Experimente converter seu primeiro documento!
Text-extract-api é: ✅ Solução local sem enviar dados para a nuvem ✅ Suporte para muitos formatos e idiomas ✅ Integração flexível com várias opções de armazenamento ✅ Aprimoramento de qualidade através de LLM
O projeto será especialmente apreciado por desenvolvedores que precisam trabalhar com documentos em suas aplicações, mas não querem depender de APIs comerciais ou perder tempo implementando seu próprio OCR.
Uma versão demo está disponível para testes, e todas as perguntas podem ser discutidas na comunidade Discord do projeto.
Projetos relacionados