Volver
Pipeline editorial con revisión humanaEn pausa
Proyecto profesional
Dixta — AI Content Automation
- Laravel
- Python
- Scrapling
- FastAPI
- DeepSeek
Problema
El seguimiento manual de fuentes ambientales y regulatorias dispersa el trabajo editorial entre búsqueda, selección, redacción y distribución.
Contexto
Plataforma profesional desarrollada en GreenSoft junto a otro desarrollador, independiente del asistente de WhatsApp. Un núcleo en Laravel orquesta el pipeline y un microservicio en Python se encarga de la extracción con Scrapling.
Objetivo
Convertir fuentes configuradas en borradores revisables, conservando control editorial humano y trazabilidad del pipeline.
Mi rol
- Construí la primera versión de la plataforma y buena parte de su evolución: scraping, selección de candidatos, generación de borradores y publicación.
- Endurecí el microservicio de extracción en Python: validación de artículos, deduplicación por URL y render con navegador cuando el sitio lo exige.
- Implementé las validaciones del borrador y el flujo de revisión: nada se publica sin que una persona lo apruebe.
- Migré el modelo generador de borradores a DeepSeek.
Arquitectura y decisiones
- Laravel controla base de datos, colas, selección de candidatos, borradores y publicación; el scraper en FastAPI + Scrapling no guarda estado.
- La URL normalizada y su hash son el contrato de deduplicación entre ambos servicios.
- El modelo generador pasó por varias etapas: partió con modelos locales y hoy es DeepSeek. La integración con Bitrix24 y el servidor llama.cpp se eliminaron.
- El modelo debe devolver un JSON con campos fijos; si el resultado no pasa las validaciones, el borrador cae a una plantilla determinística.
- Publicar es una acción aparte de aprobar: un borrador pasa por revisión humana antes de salir.
Flujo de arquitectura
- 01Fuentes
- 02Python + Scrapling
- 03Laravel + colas + DeepSeek
- 04Revisión humana
Solución
- Extracción diaria desde fuentes configuradas, con filtros de pertinencia y antigüedad.
- Persistencia y deduplicación de artículos antes de gastar inferencia.
- Generación de borradores con DeepSeek, validados y normalizados antes de mostrarse.
- Panel para editar, regenerar, aprobar o rechazar cada borrador, y publicación en LinkedIn solo después de la aprobación.
Desafíos y trade-offs
- Mantener confiable la extracción frente a fuentes heterogéneas sin acoplarla a la base de datos.
- Evitar duplicados y contenido no pertinente antes de gastar inferencia o tiempo editorial.
- Separar automatización de publicación: el modelo propone y una persona conserva la decisión final.
Aprendizajes
- Los límites claros entre orquestador y scraper facilitan probar, reemplazar y desplegar cada parte.
- La calidad del borrador depende tanto de selección y contexto como del modelo utilizado.
Resultado
Estuvo en producción y hoy está en pausa. Se omiten fuentes, credenciales y detalles internos sensibles.