py-idp
py-idp es un framework de procesamiento inteligente de documentos para Python con pipeline de 6 etapas (parse → classify → extract → assess → validate → HITL).
Ficha actualizada 22 sept 2026, 16:32 · upstream 21 sept 2026, 9:35 · release v0.3.1.post1
Qué es py-idp
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
py-idp es un framework generalista de procesamiento inteligente de documentos impulsado por IA, diseñado específicamente para Python. Implementa un pipeline de seis etapas bien definido que ingiere archivos (path/URL/bytes), los parsea con Docling/pdfplumber, clasifica el tipo de documento, extrae datos estructurados mediante esquemas Pydantic, evalúa confianza por campo, valida contra reglas de negocio y permite revisión humana vía HITL.
El framework soporta 12+ backends LLM incluyendo proveedores internacionales (5), China (8) y autoalojados (Nanonets-OCR2-3B para Apple Silicon/CUDA). Incluye chunking automático para documentos oversized, evaluación integrada con métricas F1/precision/recall, y aprendizaje de correcciones humanas vía RL. La arquitectura modular permite importar submódulos independientes (idp.core, idp.llm, idp.eval, idp.hitl) sin dependencias cruzadas.
La infraestructura incluye soporte Docker, Compose, PostgreSQL/MySQL, S3/MinIO, y producción scaffolding opcional. El sistema es honesto sobre limitaciones de modelos pequeños: flaggea automáticamente cálculos aritméticos con baja confianza (ej. subtotal/tax_amount) para revisión humana en lugar de pasarlos silenciosamente.
- Extracción estructurada de facturas y documentos financieros con validación automática contra esquemas Pydantic
- Procesamiento de contratos legales con descubrimiento automático de esquemas desde muestras de documentos
- Pipeline de extracción multimodal para documentos con tablas complejas usando Docling o pdfplumber
- Servicio API autoalojado para procesamiento en producción con métricas y health checks integrados
- Evaluación continua de modelos LLM con harness integrado que reporta F1, precision/recall por campo
- Revisión humana de campos de baja confianza mediante interfaz Streamlit con persistencia de correcciones
- Pipeline modular de 6 etapas puramente funcionales sobre Document, unit-testables en aislamiento
- 12+ backends LLM compatibles con protocolo OpenAI Chat Completions (internacional, China, autoalojado)
- OCR autoalojado Nanonets-OCR2-3B soportado en Apple Silicon y CUDA sin dependencias externas
- Descubrimiento automático de esquemas mediante discover_schema() desde hint + documento muestra
- Evaluación integrada con métricas F1, schema-valid rate y latencia por documento medibles
- Licencia dual AGPL-3.0 + comercial para casos que requieren distribución sin copyleft
- Requiere Python 3.10+; extras opcionales (docling, ocr, openai, anthropic) deben instalarse explícitamente
- Modelos pequeños muestran errores en cálculos aritméticos (subtotal/tax_amount) flaggeados para HITL
- Backend mock incluido para pruebas sin API keys, pero producción requiere configuración real de LLM
- Algunas funcionalidades avanzadas (FastAPI server, eval harness) requieren extras opcionales adicionales
- OCR autoalojado Nanonets-OCR2-3B limitado a Apple Silicon/CUDA; no disponible en otras arquitecturas
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Instalar core con pip install py-idp sin API keys (usa MockBackend). Para producción: pip install py-idp[api,ollama] o [openai,anthropic]. Configurar IDP_BACKEND env var. Requiere 4 cores CPU, 8GB RAM, 30GB disk mínimo. Usar Docker/Dockerfile para despliegue consistente. Habilitar cache/checkpoint para reliability en producción. Evaluar con idp eval antes de producción.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.