Skip to content

Lab 1: Gobernando prompts de IA generativa

Prerrequisitos

Comprueba que te encuentras en la plataforma watsonx

En este laboratorio, gobernarás un prompt para modelo fundacional de watsonx.ai. En este caso, el departamento de soporte quiere utilizar un modelo de IA generativa para etiquetar los tickets de soporte por temática, lo que creen que reducirá significativamente la carga de trabajo del equipo y los tiempos de respuesta.

Sin embargo, tienen ciertas reticencias ya que han visto noticias que alertan del potencial riesgo de la IA generativa de proporcionar información imprecisa, ser propensa a generar contenido de odio, agresivo o profano (HAP), o filtrar información personal (PII). Necesitan configurar un sistema capaz de monitorizar y evaluar el prompt para atajar sus preocupaciones antes de ponerlo en producción.

1. Definir un Caso de Uso de IA

Debes crear un AI use case para gobernar el prompt de clasificación de tickets. Este caso de uso, que debe almacenarse en un Inventory, permitirá a los administradores, ingenieros de IA, analistas de riesgos, y científicos de datos organizar las diferentes versiones, datos, y entornos empleados para construir y desplegar los prompts candidatos.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item AI Governance para desplegarlo.

  3. Haz click en el item AI use cases.

    Abrir AI use cases

  4. Pulsa el botón de New AI use case, que abrirá una nueva ventana.

    Abrir pestaña New AI use case

  5. Pon un Name al caso de uso.

  6. Pon una Description para la necesidad de negocio que se está intentando resolver.

  7. Utiliza el desplegable para asignar el Risk Level apropiado.

  8. Utiliza el desplegable para asignar el Inventory apropiado.

    Definir valores

  9. Asigna un Status en el desplegable del lateral derecho.

  10. Pulsa Create. Después de unos minutos, el caso de uso estará creado.

    Crear AI use case

2. Crea un Espacio de Despliegue

Los Deployment spaces (espacios de despliegue) contienen activos desplegables, despliegues, trabajos de despliegue, datos asociados de entrada y salida, y entornos de ejecución. Puedes utilizar un espacio para desplegar varios activos, gestionarlos y configurar sus accesos.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item Deployments.

    Abrir Deployments

  3. Pulsa el botón de New deployment space, que abrirá una nueva ventana.

    Abrir pestaña New Deployment space

  4. Asigna un Name y una Description apropiada para el espacio.

  5. Selecciona "Testing" en el desplegable Deployment stage. Definir este stage asegura que los activos desplegados aparezcan en la etapa correcta del ciclo de vida del AI use case.

  6. Pulsa Create.

    Crear Deployment space

3. Crea un Proyecto

Los Projects (proyectos) proporcionan un lugar a los científicos de datos, ingenieros de datos, expertos de la materia, y otros usuarios para colaborar y construir activos.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item Projects para desplegarlo.

  3. Haz click en el item All projects.

    Abrir Projects

  4. Pulsa el botón de New project, que abrirá una nueva ventana.

    Abrir pestaña New project

  5. Con la opción + New, asigna un Name al proyecto.

  6. Pulsa Create.

    Crear Project

4. Asocia los espacios de trabajo al Caso de Uso

Para habilitar el trackeo del prompt por el AI use case creado anteriormente, el proyecto y espacio de despliegue tienen que estar asociados con las diferentes etapas del caso de uso. Los proyectos pueden contener modelos, activos, metadatos, y controles de acceso necesarios para la gobernanza de IA. Asociar estos espacios de trabajo a las diferentes etapas de los casos de uso permite organizar y visualizar los materiales de gobierno de manera lógica.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item AI Governance para desplegarlo.

  3. Haz click en el item AI use cases.

    Abrir AI use cases

  4. Localiza el AI use case creado previamente y haz click para abrirlo.

    Abrir AI use case

  5. Baja hasta la sección Associated workspaces, dónde están las tres etapas del ciclo de vida del modelo: Develop, Validate, y Operate. Los espacios de trabajo (Projects o Deployment spaces) pueden asociarse con cualquiera de estas etapas.

  6. En la ficha Development, pulsa en Associate workspace, lo que abrirá una ventana.

    Asociar Development (1)

  7. En la sección Projects, marca el proyecto creado previamente.

  8. Haz click en Save para guardar esta asociación.

    Asociar Development (2)

  9. Repite para la ficha Validation, marcando el espacio creado previamente.

    Asociar Validation (1)

    Asociar Validation (2)

5. Crea un Prompt Template

El Prompt Template es una herramienta diseñada para estructurar y estandarizar las instrucciones proporcionadas al modelo de IA generativa. Permite configurar variables que almacenarán la información específica para cada interacción, facilitando la reproducibilidad del comportamiento buscado del modelo para el caso de uso definido.

Además, el prompt template también lleva asociada una configuración de parámetros como el número de tokens máximo y mínimo de la respuesta, la penalización por repetición, o el método de decoding, así como el modelo que va a generar la respuesta.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item Projects para desplegarlo.

  3. Haz click en el item All projects.

    Abrir Projects

  4. Abre el proyecto creado previamente.

    Abrir Project

  5. Pulsa el botón de New asset, que abrirá una nueva ventana.

    Crear New asset

  6. Haz click en Chat and build prompts with foundation models with Prompt Lab, lo que abrirá el Prompt Lab.

    Abrir Prompt Lab

  7. Existen 3 maneras diferentes de estructurar el prompt: para interacción por chat (Chat), de manera estructurada con ejemplos (Structured), o de manera libre (Freeform), dónde hay que configurar manualmente las etiquetas adecuadas. Selecciona esta última pestaña: Freeform.

    Ir a Freeform

  8. Copia el siguiente texto y pégalo en el área de texto para el prompt.

    <|start_of_role|>user<|end_of_role|>
    Classify the following ticket into one of these categories: Access, Consulting, Database, Development, Email, Hardware, Network, Network services, Printer, Security, Software, Support, Training, VPN, Website. 
    Only provide one of these tags in your answer, no extra text.
    Ticket: 
    {ticket}
    <|end_of_text|>
    <|start_of_role|>assistant<|end_of_role|>
    Tag:"""
    
  9. El valor entre corchetes es una variable, que hay que configurar. En la parte superior derecha, haz click en {#}, que abrirá la ventana Prompt variables.

    Copiar texto de prompt

  10. Haz click en New variable.

  11. Asigna el texto incluido entre corchetes en el prompt como el nombre Variable.

    Crear prompt variable

  12. En la parte superior derecha, selecciona el modelo a utilizar en el desplegable. Además de las opciones de esta lista, puedes pulsar en View all foundation models para ver las fichas y seleccionar de todos los modelos disponibles en plataforma.

  13. Selecciona llama-3-1-70b-instruct. El etiquetado del prompt es el adecuado para este modelo. Cada modelo tiene sus etiquetas y estructura de prompting recomendada.

  14. En la parte superior derecha, haz click en el último icono. Se abrirá la ventana Model parameters.

    Seleccionar foundation model

  15. Selecciona el método de Decoding Greedy y configura Min tokens a 0 y Max tokens a 200.

    Configurar parámetros

  16. Una vez configurado el prompt, pulsa en el icono de guardar en la parte superior, y selecciona Save as.

    Guardar prompt template (1)

  17. En la ventana abierta, selecciona Prompt template, define un Name, y selecciona Classification como Task.

  18. Pulsa Save para guardar el prompt template en el proyecto.

    Guardar prompt template (2)

6. Trackea el Prompt Template

En este paso, se busca asociar el prompt template al AI use case creado previamente, para realizar el seguimiento del modelo y poder visualizarlo en su ciclo de vida. Esto permitirá también asociar lógicamente las diferentes versiones del prompt y su paso por los distintos espacios de trabajo, así como su evaluación.

  1. Abre el menú lateral en la esquina superior izquierda.

  2. Haz click en el item Projects para desplegarlo.

  3. Haz click en el item All projects.

    Abrir Projects

  4. Abre el Proyecto creado previamente.

    Abrir Project

  5. Localiza el Prompt Template creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.

    Abrir Menu Prompt Template

  6. Pulsa en Go to AI Factsheet, para abrir la ficha del prompt template.

    Go to AI Factsheet

  7. Revisa la información recopilada en esta pantalla, incluyendo datos sobre el modelo fundacional en el que se construye, el prompt, su tarea, así como los parámetros. Se rastrean automáticamente los metadatos del prompt sin ningún esfuerzo manual.

    AI Factsheet

  8. Sube hacia la primera sección, y pulsa Track AI use case para asignar el prompt template al caso de uso creado.

    Track AI use case (0)

  9. En la pantalla Define approach, deberás crear un nuevo enfoque para esta vía de uso de IA generativa. Haz click en New approach. Selecciona un Icon, Color, y Name. Haz click en Create.

    Track AI use case (1) Track AI use case (1) Track AI use case (1)

  10. Deja seleccionada la opción Experimental. Ten en cuenta que aquí puedes asignar manualmente un número de versión, o elegir un número de versión más adecuado, según el estado del modelo. Haz clic en Next para avanzar a la pantalla de revisión (Review).

    Track AI use case (2)

  11. Haz clic en Track asset para comenzar a rastrear el modelo. La AI Factsheet se recargará e incluirá la información del caso de uso.

    Track AI use case (3) Track AI use case (4)

  12. Si navegas de nuevo hasta el AI use case, verás que ahora contiene también la información del prompt template en la etapa Develop del Lifecycle.

    AI use case actualizado

7. Despliega el Prompt Template

A continuación, promocionarás el prompt template a un espacio de despliegue y lo desplegarás.

  1. Localiza el Prompt Template creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.

    Abrir Menu Prompt Template

  2. Pulsa en Promote to space, lo que abrirá una ventana.

    Promote to space (0)

  3. Selecciona el Deployment space creado previamente en Target space.

  4. Selecciona la casilla Go to the space after promoting the prompt template.

  5. Haz click en Promote.

    Promote to space (1)

  6. El prompt template está promocionado al espacio de despliegue, pero todavía no está desplegado.

  7. Para desplegarlo, pulsa en la esquina superior derecha en New deployment.

    Crear New deployment (0)

  8. Asigna un Name y un Serving name.

  9. Pulsa en Create. El despliegue estará ahora online, preparado para recibir peticiones vía API.

    Crear New deployment (1) Crear New deployment (2)

  10. Revisa la AI Factsheet, que ahora contendrá también la información de despliegue en la etapa de Validation.

    AI Factsheet actualizada

8. Evalúa el Prompt Template

Una vez desplegado el prompt template, sólo queda evaluarlo con un conjunto de datos.

  1. En la ventana del despliegue, abre la pestaña Evaluations.

    Abrir despliegue Abrir Evaluations

  2. Pulsa Evaluate, lo que abrirá una ventana.

    Abrir Evaluate

  3. En la pantalla Select dimensions to evaluate, puedes dejar marcadas las dos casillas definidas. Para explorar las métricas incluidas en ambas categorías y configurar sus umbrales, haz click en Advanced settings. Después, pulsa Cancel para volver a la pantalla previa.

    Crear evaluación (1) Crear evaluación (2)

  4. Haz click en Next.

    Crear evaluación (3)

  5. Arrastra el archivo support-tickets-es.csv que contiene los datos de evaluación.

    Crear evaluación (4)

  6. Pulsa en el desplegable Input, y selecciona "text".

  7. Pulsa en el desplegable Reference output, y selecciona "label".

  8. Haz click en Next.

    Crear evaluación (4)

  9. Pulsa Evaluate para comenzar la evaluación, que puede durar unos minutos.

    Crear evaluación (5) Crear evaluación (6)

  10. Una vez completada, explora la sección Quality - Text classification, que incluye los resultados para todas las métricas con sus alertas asociadas.

  11. Pulsa el icono de la flecha, que abrirá una pantalla con más información, como una matriz de confusión y cada uno de los registros.

    Ver resultados de evaluación

  12. Si visitas la pestaña Model health, visualizarás datos históricos de latencia, rendimiento, o número de usuarios. Esta información puede ser útil para los equipos de infraestructura e ingeniería, ya que asegura que los modelos están respondiendo a las solicitudes de aplicaciones en un tiempo razonable, y que los costes computacionales se mantienen en niveles adecuados.

    Model health

  13. Si pulsas en Time settings podrás configurar la ventana de tiempo para las evaluaciones que quieres visualizar.

    Time settings

9. Visualiza el ciclo de vida completo

Para finalizar, visualiza el ciclo de vida completo actualizado en la AI Factsheet y AI use case.

  1. En la ventana del despliegue, abre la pestaña AI Factsheet.

    Abrir AI factsheet

  2. Esta pantalla incluye exclusivamente información sobre las métricas del despliegue. Para visualizar la ficha completa, pulsa en el icono de More details.

    Abrir AI factsheet completa AI factsheet completa

  3. También puedes volver al AI use case desde el menú desplegable lateral, y una vez abierto, explorar el ciclo de vida en la pestaña Lifecycle.

    AI use case actualizado

10. Tarea: Promociona a un espacio de despliegue de producción

¡Hazlo tú!

Para completar este último paso, deberás crear un nuevo espacio de despliegue para producción, y deberás promocionar el prompt template a este espacio para ser puesto en operación y completar el ciclo de vida.

Al completar este paso, las tres fases estarán pobladas en la AI Factsheet del modelo y en el ciclo de vida del AI usecase.

11. Conclusiones

¡Enhorabuena! Has completado este laboratorio.

¿Qué hemos aprendido?

  • A lo largo de este laboratorio, has seguido el ciclo de vida del modelo, desde la concepción inicial del caso de uso hasta el desarrollo, el despliegue y la validación.
  • Observaste cómo la plataforma watsonx.governance ofrece una solución integral para gestionar los modelos, rastreando los metadatos y el rendimiento de los modelos en cada fase del ciclo de vida.
  • Exploraste las formas en que watsonx.governance automatiza tareas como la recopilación de métricas y la generación de informes, proporcionando esa información de manera fluida en un entorno completamente gestionado, para que los interesados puedan tomar decisiones basadas en los datos más actualizados.

Siguientes pasos