Analizador de ofertas · LLM → JSON
Extrae los datos de una oferta de empleo a JSON estructurado y validado por Pydantic, llamando al LLM por SDK directo (Claude y OpenAI), sin framework de por medio.
Soy Denys Porynets — data scientist que construye y despliega sistemas de IA. Mido una sola cosa: qué he desplegado y se usa de verdad.
Máster en Data Science & AI (Nuclio, GPA 8.57/10) sobre una base de Ingeniería Informática (UC3M) y años de operaciones en entornos de producción reales — hostelería y atención al cliente. Uno el análisis de datos con el conocimiento del terreno para construir herramientas que resuelven problemas de verdad, no de laboratorio.
Automatizo procesos, entreno modelos predictivos y, últimamente, construyo y despliego sistemas LLM en GCP Cloud Run (FastAPI + Docker): un RAG y un agente autónomo, ambos en producción. Mido lo que importa: qué queda desplegado y se usa.
Seis artefactos en producción. No seis meses de cursos.
El estado dice la verdad: lo desplegado corre en Cloud Run tras un token; lo interno es la herramienta que da confianza a lo que sí se expone.
Extrae los datos de una oferta de empleo a JSON estructurado y validado por Pydantic, llamando al LLM por SDK directo (Claude y OpenAI), sin framework de por medio.
Responde citando el fragmento real y su página, y dice «no lo sé» en vez de inventar cuando la pregunta cae fuera del corpus. En producción con FastAPI, Docker y Cloud Run; claves en Secret Manager.
Mide si el sistema mejora o empeora entre versiones: un juez LLM puntúa fidelidad y relevancia sobre un dataset dorado, y una puerta de calidad bloquea las regresiones. Cazó un falso positivo real antes de que llegara a producción.
Agente con tool use real y el bucle de function-calling escrito a mano sobre el SDK (sin framework): lee una oferta, la contrasta con mi CV y redacta un borrador, orquestando tres herramientas. Desplegado en Cloud Run.
El mismo agente, ahora con disciplina: prompts versionados y un eval-set de bugs reales con casos de control, donde cada cambio queda justificado por un número — no por un «parece mejor». Un juez-LLM puntúa lo cualitativo y Pydantic garantiza la forma de cada salida.
Cada petición al agente deja rastro: cuánto costó en euros y si falló. Un medidor (ContextVar) y una bitácora en JSON a Cloud Logging responden con datos reales cuánto cuesta y cuánto se rompe, con un espejo del historial en MLflow. El DoD —coste por petición y porcentaje de fallos— respondido con producción, no con estimaciones.
Los proyectos sobre los que se apoya la ruta: datos a escala, automatización de operaciones y visualización con criterio.
Genera el XML de la Encuesta de Ocupación Hotelera del INE a partir de exports de Opera Cloud PMS: auto-detecta ficheros, calcula la distribución por CCAA y exporta tablas de resumen.
Modelo de ML para detección de malware sobre 9 millones de registros: ingeniería de variables, validación estratificada y resultado por encima del benchmark de Kaggle.
Framework meta-prompt para calibrar la colaboración con IA a tu arquitectura cognitiva: define protocolos de comunicación, densidad de información y modos de trabajo.
TFM del Máster: tipologías dietarias, huella de carbono y coste alimentario en 30 países. Tres motores (clustering, LightGBM+SHAP, forecast) y un dashboard Streamlit con simulador what-if.
Visualización interactiva del customer journey hotelero, de la primera búsqueda a la resolución post-estancia: etapas, puntos de contacto y momentos críticos de la experiencia.
El resto del trabajo, los libros de conceptos y la bitácora completa viven en GitHub.