Text-Extract-API: Convirtiendo Documentos en Datos Estructurados Sin Complicaciones
¿Alguna vez has necesitado extraer datos de un informe en PDF o documento escaneado? La pesadilla familiar de copiar texto manualmente, luchar con tablas torcidas y perder fórmulas. Text-extract-api ofrece una solución elegante a este problema, combinando tecnologías modernas de OCR y modelos de lenguaje.
¿Qué es esta herramienta?
Text-extract-api es una API de Python que te permite:
- Convertir PDF, Word, PowerPoint e imágenes a Markdown o JSON
- Extraer tablas, números y fórmulas matemáticas
- Limpiar documentos de datos personales (PII)
- Mejorar la calidad del reconocimiento usando modelos LLM (Llama 3, MiniCPM y otros)
La principal ventaja es que todo funciona localmente sin enviar datos a servicios en la nube.
Características principales
1. Soporte para varios formatos y estrategias de reconocimiento
El proyecto soporta varios motores de OCR:
- EasyOCR — para reconocimiento rápido de texto en más de 30 idiomas
- MiniCPM-V — modelo abierto para uso comercial
- Llama 3.2 Vision — opción más precisa, pero que requiere más recursos
- API Remota — para integración con servicios externos como Marker PDF
Comando de ejemplo para conversión:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. Mejora de texto usando LLM
Después del reconocimiento, el texto puede ser procesado adicionalmente por un modelo de lenguaje:
- Corrección de errores de OCR
- Extracción de datos estructurados (p. ej., convertir un informe médico a JSON)
- Eliminación de datos personales
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. Almacenamiento flexible de resultados
Se admiten varias estrategias para almacenar documentos procesados:
- Sistema de archivos local
- Google Drive
- Amazon S3
La configuración mediante archivos YAML facilita la adaptación del sistema a tus necesidades.
Detalles técnicos
La arquitectura del proyecto se basa en:
- FastAPI para API REST
- Celery para procesamiento asíncrono de tareas
- Redis para caché de resultados
- Ollama para trabajar con modelos LLM locales
Se ofrecen dos opciones de despliegue:
- Ejecución nativa (útil para Mac con Apple Silicon)
- Contenedores Docker (incluyendo versión con aceleración GPU)
Aplicaciones prácticas
¿Dónde puede ser útil text-extract-api?
Bufetes de abogados pueden automatizar el procesamiento de escaneos de contratos, extrayendo términos clave en un formato estructurado.
Centros médicos obtendrán una herramienta para convertir informes en papel a registros electrónicos sin entrada manual de datos.
Startups fintech podrán analizar extractos bancarios y facturas, extrayendo datos para sistemas contables.
Investigadores apreciarán la capacidad de digitalizar libros antiguos y artículos científicos mientras preservan fórmulas y tablas.
Comienza en 5 minutos
- Instala Docker y Ollama
- Clona el repositorio:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- Inicia los servicios:
docker-compose up --build
- ¡Prueba a convertir tu primer documento!
Text-extract-api es: ✅ Solución local sin enviar datos a la nube ✅ Soporte para muchos formatos e idiomas ✅ Integración flexible con varias opciones de almacenamiento ✅ Mejora de calidad mediante LLM
El proyecto será especialmente apreciado por desarrolladores que necesitan trabajar con documentos en sus aplicaciones pero no quieren depender de APIs comerciales ni dedicar tiempo a implementar su propio OCR.
Una versión demo está disponible para pruebas, y todas las preguntas se pueden discutir en la comunidad de Discord del proyecto.
Proyectos relacionados