Práctica
2. Práctica: Extensión y Modificación de la Clase "JokeChain"
Objetivo:
El objetivo de esta práctica es evaluar tu comprensión del código base y tu capacidad para extender y modificar la clase JokeChain de manera que cumpla con nuevos requisitos funcionales. Demostrarás tu conocimiento sobre la configuración de modelos de lenguaje, el uso de plantillas de prompts, y la creación de cadenas (chains) con el framework Stratio Gen-AI.
Instrucciones:
Extensión de la Clase
JokeChain: Modifica la claseJokeChainpara que pueda realizar las siguientes funciones adicionales:- Personalización del Formato de Salida: Agrega un nuevo parámetro
output_formaten el constructor que permita especificar si el chiste debe ser devuelto en formatotexto plano(por defecto),htmlomarkdown. - Selección de Idioma: Extiende el método
chainpara que el prompt incluya un nuevo parámetrolanguage, que permita solicitar el chiste en diferentes idiomas. Modifica el prompt para aceptar este parámetro y asegúrate de que el LLM lo interprete correctamente.
- Personalización del Formato de Salida: Agrega un nuevo parámetro
Modificación del Método
chain:- Modifica el método
chainpara incorporar la lógica del nuevo parámetrooutput_format. - Asegúrate de que el parámetro
languagesea opcional, y si no se proporciona, el idioma por defecto sea inglés.
- Modifica el método
Prueba y Validación:
- Una vez realizadas las modificaciones, escribe un script de prueba para validar que la nueva clase funcione correctamente.
- Prueba la generación de chistes en diferentes formatos de salida (texto plano y markdown) y en diferentes idiomas.
Documentación:
- Documenta brevemente los cambios realizados, explicando cómo y por qué implementaste cada nueva funcionalidad.
- Incluye ejemplos de uso para las nuevas funcionalidades agregadas. Para ello deberas realizar los siguientes pásos de la práctica y desplegar el chain varias veces, recuerda que si quieres volver a subir un paquete ya desplegado o un chain deberas borrarlo previamente.
Criterios de Evaluación:
- Correctitud Funcional: La clase modificada debe cumplir con todos los requisitos funcionales propuestos.
- Calidad del Código: El código debe ser limpio, bien estructurado y seguir las buenas prácticas de programación.
- Documentación: La documentación debe ser clara y suficiente para entender los cambios realizados y cómo usar las nuevas funcionalidades.