Home Projects Portfolio Dashboard Export PDF Log in

Potenciando la generación de CVs con contexto estructurado en devlog-ist/landing

En el proyecto devlog-ist/landing, hemos implementado una mejora significativa en la lógica de generación de perfiles profesionales. El objetivo principal ha sido permitir que el sistema no solo infiera información, sino que también acepte datos estructurados mediante el uso de DTOs (Data Transfer Objects) y enumeraciones robustas.

Arquitectura de contexto

Para manejar la complejidad de las ofertas de trabajo (JD), hemos introducido CvGenerationContext. Esta estructura centraliza los atributos clave como la modalidad de trabajo, el tipo de contrato, las habilidades y el nivel de seniority.

readonly class CvGenerationContext
{
    public function __construct(
        public WorkModality $modality,
        public ContractType $contract,
        public SeniorityLevel $seniority,
        public array $skills,
        public array $technologies
    ) {}
}

Integración con Filament

Gracias a Filament, ahora permitimos que el usuario final sobreescriba estos valores inferidos por el sistema. Mediante un formulario dinámico, el usuario puede ajustar la modalidad (remoto, híbrido, presencial) o el nivel de seniority antes de disparar el proceso de generación.

Esta refactorización no solo mejora la precisión de los prompts enviados al LLM, sino que asegura que la lógica de negocio se mantenga desacoplada del controlador. El uso de enumeraciones (enums) garantiza la consistencia de los datos en toda la aplicación, reduciendo errores en la persistencia con PostgreSQL.

Pruebas y calidad

Para asegurar la integridad de este cambio, hemos ampliado nuestra suite de JUnit, validando que la estructura del prompt resultante sea correcta tras aplicar las sobreescrituras del usuario. Esto garantiza que cualquier cambio en la interfaz de usuario se traduzca correctamente en el contexto del modelo.

Potenciando la generación de CVs con contexto estructurado en devlog-ist/landing
Gerardo Ruiz

Gerardo Ruiz

Author

Share: