Práctica
| Sitio: | STRATIO Training & Certification |
| Curso: | Creación de un chain con datos Estructurados (Virtualizador) |
| Libro: | Práctica |
| Imprimido por: | Invitado |
| Día: | lunes, 1 de junio de 2026, 18:37 |
1. Preparación del Entorno de Desarrollo para la Práctica Final
En este capítulo, te guiaremos a través de los pasos necesarios para configurar tu entorno de desarrollo local, donde crearás un chain sencillo utilizando el framework Stratio Gen-AI. Asegurarte de que tu entorno esté correctamente configurado es crucial para que puedas seguir y completar la práctica final del curso con éxito.
Requisitos Previos
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos previos:
Entorno de Desarrollo:
- Pycharm: Es fundamental contar con un entorno de desarrollo integrado (IDE) adecuado para trabajar con Python, y Pycharm es una excelente opción. Si aún no lo tienes instalado, sigue estos pasos:
- Descarga Pycharm: Visita el sitio oficial de Pycharm y descarga la versión que corresponde a tu sistema operativo (Windows, macOS o Linux).
- Instalación: Sigue las instrucciones proporcionadas durante la instalación para configurar Pycharm en tu máquina local. Asegúrate de seleccionar las opciones recomendadas para desarrolladores de Python.
- Pycharm: Es fundamental contar con un entorno de desarrollo integrado (IDE) adecuado para trabajar con Python, y Pycharm es una excelente opción. Si aún no lo tienes instalado, sigue estos pasos:
Descarga del Proyecto de Ejemplo:
- Proyecto en formato ZIP: Para facilitar tu trabajo, hemos preparado un proyecto de ejemplo que contiene la estructura básica y archivos necesarios para que puedas empezar a desarrollar tu chain. Sigue estos pasos para obtenerlo:
- Descarga del ZIP: Descarga el archivo ZIP con el proyecto de ejemplo. (Este enlace debe ser actualizado con la URL donde está alojado el archivo).
- Extracción del ZIP: Una vez descargado el archivo ZIP, descomprímelo en una ubicación de tu elección en tu sistema local. Asegúrate de recordar la ruta donde lo descomprimiste, ya que necesitarás acceder a estos archivos desde Pycharm.
- Proyecto en formato ZIP: Para facilitar tu trabajo, hemos preparado un proyecto de ejemplo que contiene la estructura básica y archivos necesarios para que puedas empezar a desarrollar tu chain. Sigue estos pasos para obtenerlo:
Configuración Adicional
Una vez que hayas instalado Pycharm y descargado el proyecto de ejemplo, sigue estos pasos adicionales para asegurarte de que todo esté configurado correctamente:
Abrir el Proyecto en Pycharm:
- Inicia Pycharm y selecciona la opción para abrir un proyecto existente.
- Navega hasta la ubicación donde descomprimiste el archivo ZIP y selecciona la carpeta del proyecto.
Verificación del Entorno:
Asegúrate de que todo está correctamente configurado ejecutando un simple script de prueba incluido en el proyecto. Por ejemplo desde el simbolo del sistema ejecuta "poetry build".

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.
3. Instrucciones para Crear un Paquete con Poetry
Para guiar a los estudiantes en la creación de un paquete utilizando Poetry, puedes proporcionarles los siguientes pasos detallados. Esto les ayudará a configurar su entorno de desarrollo y crear un paquete Python de manera estructurada.
Instrucciones para Crear un Paquete con Poetry
1. Instalar Poetry
Primero, asegúrate de que Poetry esté instalado en tu sistema. Si no lo tienes instalado, puedes hacerlo con el siguiente comando:
curl -sSL https://install.python-poetry.org | python3 -
También puedes seguir las instrucciones en la documentación oficial de Poetry para sistemas operativos específicos.
2. Inicializar un Nuevo Proyecto con Poetry
Una vez que tengas Poetry instalado, sigue estos pasos:
actualiza el proyecto con Poetry: Ejecuta el siguiente comando dentro del directorio del proyecto:
poetry update
3. Construir y Publicar el Paquete
Si quieres construir el paquete para su distribución (opcional):
poetry build
Esto creará un archivo .tar.gz y un .whl en la carpeta dist/, que puedes distribuir o instalar en otros entornos.
4. Subir el Paquete al API
Ahora que tienes tu paquete listo, sigue estos pasos para subirlo al API.
Enviar el Paquete: Usa el siguiente endpoint del API para subir tu paquete:
- Endpoint:
/v1/packages - Método:
POST - Requiere Body: Sí, en formato
multipart/form-data
- Endpoint:
Ejemplo de Petición -> selecciona el paquete generado:

Deberías obtener un resultado parecido a este.

5. Verificar la Subida
Después de subir el paquete, verifica que fue exitoso usando:
- Endpoint:
/v1/packages - Método:
GET
Esto debería listar todos los paquetes subidos, incluyendo el tuyo.

6. Desplegar el Chain
Ahora que tu paquete está disponible en el sistema, puedes desplegar el Chain usando tu clase.
Desplegar el Chain:
Usa el siguiente endpoint del API para desplegar tu Chain:
- Endpoint:
/v1/chains - Método:
POST - Requiere Body: Sí, en formato
application/json
Configurar el Chain:
Prepara una configuración adecuada para tu Chain. Aquí un ejemplo de cómo podría verse:


Completa la llamada con los parámetros de tu clase.
Deberías obtene algo parecido a esto:

NOTA: Solicita al equipo de certificaciones, a través de este correo "certification@stratio.com", el "gateway_endpoint" que tienes que configurar para poder integrarlo con el LLM desplegado para ti.
7. Invocar el Chain
Finalmente, puedes invocar el Chain para probar que todo funciona correctamente.
Invocar el Chain: Usa el siguiente endpoint para realizar una invocación:
- Endpoint:
/v1/chains/{chain_id}/invoke - Método:
POST - Requiere Body: Sí, en formato
application/json
- Endpoint:
Ejemplo de Petición:

Verificar la Respuesta: Deberías recibir una respuesta con un chiste generado por tu
Chain. Si todo ha ido bien, habrás completado el proceso exitosamente. En este ejemplo hemos configurado la respuesta como html y esto es un ejemplo de respuesta. 