Introducción al flujo de avisos

En este artículo se explica el principal recorrido del usuario al utilizar el flujo de avisos en Estudio de Azure Machine Learning. Obtendrá información sobre cómo habilitar el flujo de avisos en el área de trabajo de Azure Machine Learning, crear y desarrollar el primer flujo de avisos, probarlo y evaluarlo y, después, implementarlo en producción.

Requisitos previos

  • Asegúrese de que el almacén de datos predeterminado del área de trabajo sea del tipo blob.

  • Si protege el flujo de solicitudes con la red virtual, siga Aislamiento de red en el flujo de solicitudes para obtener más información.

Configurar conexión

En primer lugar, es necesario configurar la conexión.

La conexión ayuda a almacenar y administrar de forma segura las claves secretas u otras credenciales confidenciales necesarias para interactuar con LLM (modelos de lenguaje grandes) y otras herramientas externas, por ejemplo, Seguridad de contenido de Azure.

Vaya a la página principal del flujo de avisos y seleccione la pestaña Conexiones. La conexión es un recurso compartido para todos los miembros del área de trabajo. Por lo tanto, si ya ve una conexión cuyo proveedor es AzureOpenAI, puede omitir este paso, vaya a Iniciar sesión de proceso.

Si aún no está conectado a AzureOpenAI, seleccione el botón Crear y, después, AzureOpenAI en la lista desplegable.

Captura de pantalla de la pestaña de conexiones con la opción crear resaltada.

A continuación, aparecerá un panel derecho. Aquí, deberá seleccionar el nombre de suscripción y recurso, proporcionar el nombre de conexión, la clave de API (si el tipo de autenticación equivale a la clave de API), la base de API, el tipo de API y la versión de API antes de seleccionar el botón Guardar. El flujo de mensajes también admite Microsoft Entra ID como tipo de autenticación para la autenticación basada en identidades para el recurso de Azure OpenAI. Más información acerca de la Configuración de Azure OpenAI Service con identidades administradas.

Captura de pantalla de las conexiones de Azure OpenAI agregadas.

Para obtener la clave, base, tipo y versión de API, puede ir al área de juegos de chat en el portal de Azure OpenAI y seleccionar el botón Ver código. Desde aquí, puede copiar la información necesaria y pegarla en el panel de creación de conexiones.

Captura de pantalla del área de juegos de chat después de seleccionar el botón de ver código que muestra una ventana emergente con código de ejemplo; se resalta la clave de API.

Después de escribir los campos obligatorios, seleccione Guardar para crear la conexión.

Creación y desarrollo del flujo de avisos

En la pestaña Flujos de la página principal del flujo de avisos, seleccione Crear para crear el primer flujo de avisos. Puede crear un flujo mediante la clonación de los ejemplos en la galería.

Clonar a partir de un ejemplo

Los ejemplos integrados se muestran en la galería.

En esta guía, usamos Clasificación web de ejemplo para guiarle por el recorrido principal del usuario. Puede seleccionar Ver detalles en el icono Clasificación web para obtener una vista previa del ejemplo. A continuación, se abre una ventana de vista previa. Puede examinar la introducción de ejemplo para ver si el ejemplo es similar a su escenario. También puede seleccionar Clonar para clonar el ejemplo directamente y, a continuación, comprobar el flujo. Pruébelo, modifíquelo.

Captura de pantalla de la opción Crear desde la galería donde se resalta la clasificación web.

Después de seleccionar Clonar, un nuevo flujo se creará y guardará en una carpeta específica dentro del almacenamiento de recurso compartido de archivos del área de trabajo. Es posible personalizar el nombre de la carpeta según sus preferencias en el panel de la derecha.

Iniciar sesión de proceso

A continuación, escriba la página de creación del flujo. Antes de profundizar, inicie primero una sesión de proceso.

La sesión de proceso actúa como los recursos informáticos necesarios para que se ejecute la aplicación, incluida una imagen de Docker que contiene todos los paquetes de dependencia necesarios. Es un elemento necesario para la ejecución del flujo.

Captura de pantalla de inicio de una sesión de start-compute.

Página de creación de flujos

Cuando se inicia la sesión de proceso, podemos echar un vistazo a la página de creación del flujo.

Captura de pantalla de la clasificación web donde se resalta el área de trabajo principal.

A la izquierda de la página de creación está la vista aplanada, el área de trabajo principal donde se puede crear el flujo. Por ejemplo: agregar un nuevo nodo, editar la solicitud, seleccionar los datos de entrada de flujos, etc.

En la esquina superior derecha se muestra la estructura de carpetas del flujo. Cada flujo tiene una carpeta que contiene un archivo flow.dag.yaml, archivos de código fuente y carpetas del sistema. Puede exportar o importar fácilmente un flujo con fines de prueba, implementación o colaboración.

Además de la edición directa del nodo en la vista plana, también puede activar el botón de alternancia Modo de archivo sin formato y seleccionar el nombre del archivo para editarlo en la pestaña de abrir archivo.

Captura de pantalla de la pestaña de edición de archivos en el modo de archivos sin formato.

En la esquina inferior derecha, está la vista de gráfico solo para visualización. Puede acercar, alejar, establecer el diseño automático, etc.

En esta guía, usamos Clasificación web de ejemplo para guiarle por el recorrido principal del usuario. La clasificación web es un flujo que muestra la clasificación de varias clases con LLM. Dada una dirección URL, clasifica la dirección URL en una categoría web con solo unas pocas capturas, resúmenes simples y avisos de clasificación. Por ejemplo, dado "https://www.imdb.com/", clasifica esta dirección URL en "Movie".

En la vista de gráfico, puede ver el aspecto del flujo de ejemplo. La entrada es una dirección URL para clasificar y, a continuación, usa un script de Python para capturar contenido de texto de la dirección URL, usa LLM para resumir el contenido de texto en 100 palabras y, a continuación, clasifica en función de la dirección URL y el contenido de texto resumido, y por último, usa el script de Python para convertir la salida LLM en un diccionario. El nodo prepare_examples deberá enviar ejemplos de pocos intentos a la solicitud del nodo de clasificación.

Datos de entrada de flujo

Al desplegar la sección Entradas, puede crear y ver entradas. En el ejemplo de clasificación web, como se muestra en la captura de pantalla siguiente, la entrada de flujo es una dirección URL de tipo cadena.

Captura de pantalla de la clasificación web donde se resaltan las entradas.

El esquema de entrada (nombre: url; tipo: cadena) y el valor ya se establecen al clonar ejemplos. Puede cambiar a otro valor manualmente, por ejemplo "https://www.imdb.com/".

Configuración de nodos LLM

Para cada nodo LLM, debe seleccionar una conexión para establecer las claves de API de LLM.

Captura de pantalla de la clasificación web que muestra el menú desplegable de conexión.

En este ejemplo, asegúrese de que el tipo de API es chat, ya que el ejemplo de aviso que se proporciona es para la API de chat. Para obtener información sobre la diferencia de formato de aviso de la API de chat y finalización, vea Desarrollo de un flujo.

A continuación, en función del tipo de conexión seleccionado, debe seleccionar una implementación o un modelo. Si usa la conexión Azure OpenAI, debe seleccionar una implementación en la lista desplegable (si no tiene una implementación, cree una en el portal de Azure OpenAI mediante las instrucciones de Creación de un recurso e implementación de un modelo mediante Azure OpenAI). Si usa la conexión de OpenAI, debe seleccionar un modelo.

Tenemos dos nodos LLM (summarize_text_content y classify_with_llm) en el flujo, por lo que debe configurar para cada uno de ellos respectivamente.

Ejecución de un solo nodo

Para probar y depurar un único nodo, seleccione el icono Ejecutar en el nodo en la vista aplanada. El estado de ejecución se muestra en la parte superior; una vez completada la ejecución, compruebe la salida en la sección salida del nodo.

Captura de pantalla de la clasificación web que muestra que primero se ejecuta el nodo de python y después se comprueba la salida, a continuación se ejecuta el nodo LLM y después se comprueba su salida.

Ejecute fetch_text_content_from_url, a continuación, summarize_text_content, compruebe si el flujo puede capturar contenido correctamente de la web y resumir el contenido web.

El estado del nodo único también se muestra en la vista de grafo. También puede cambiar la dirección URL de entrada del flujo para probar el comportamiento del nodo para las distintas direcciones URL.

Ejecución de todo el flujo

Para probar y depurar todo el flujo, seleccione el botón Ejecutar situado en la parte superior derecha.

Captura de pantalla de la clasificación web que muestra una ejecución completa y resalta el botón de ejecución.

A continuación, puede comprobar el estado de ejecución y la salida de cada nodo. Los estados del nodo también se muestran en la vista de gráfico. De forma similar, puede cambiar la dirección URL de entrada del flujo para probar cómo se comporta el flujo para diferentes direcciones URL.

Establecer y comprobar la salida del flujo

En lugar de comprobar las salidas en cada nodo, también puede establecer la salida del flujo y comprobar las salidas de varios nodos en un solo lugar. Además, la salida del flujo ayuda a:

  • Comprobar los resultados de pruebas masivas en una sola tabla
  • Definir la asignación de la interfaz de evaluación
  • Establecer el esquema de respuesta de implementación

Al clonar el ejemplo, las salidas de flujo (categoría y evidencia) ya están establecidas.

Puede seleccionar botón Ver seguimiento en el banner para ver información detallada de entrada, salida, ejecución de flujo y orquestación. Puede ver que el flujo predice la dirección URL de entrada con una categoría y evidencia.

Captura de pantalla de visualización del seguimiento en la página de creación.

 Captura de pantalla del botón ver salida en dos ubicaciones.

Puede seleccionar Ver resultado de la prueba para comprobar todas las pruebas históricas de una lista.

Captura de pantalla de la clasificación web que muestra el botón para ver salidas.

Captura de pantalla del resultado de la prueba de flujo.

Prueba y evaluación

Después de que el flujo se ejecute correctamente con una sola fila de datos, es posible que desee probar si funciona bien en un conjunto grande de datos. Puede ejecutar una prueba masiva y elegir algunos métodos de evaluación y, a continuación, comprobar las métricas.

Preparación de los datos

Primero debe preparar los datos de prueba. Por el momento se admiten archivos csv, tsv y jsonl.

Vaya a GitHub para descargar "data.csv", el conjunto de dato para el ejemplo de clasificación web.

Evaluate

Seleccione el botón Evaluar situado junto al botón Ejecutar; después, aparecerá un panel en la parte derecha. Es un asistente que le guía para enviar una ejecución por lotes y seleccionar el método de evaluación (opcional).

Debe establecer un nombre de ejecución por lotes, una descripción y, después, seleccionar Agregar nuevos datos para cargar los datos que descargó. Después de cargar los datos o si sus compañeros del área de trabajo ya han creado un conjunto de datos, puede elegir el conjunto de datos en la lista desplegable y obtener una vista previa de las primeras cinco filas. La lista desplegable de selección del conjunto de datos admite la búsqueda y la ingesta automática.

Además, la asignación de entrada admite la asignación de la entrada de flujo a una columna de datos específica del conjunto de datos, lo que significa que puede usar cualquier columna como entrada, incluso si los nombres de columna no coinciden.

Captura de pantalla de Ejecución por lotes y evaluación, destacando la carga de nuevos datos.

A continuación, seleccione uno o varios métodos de evaluación. Los métodos de evaluación también son flujos que usan Python o LLM, etc., para calcular métricas como la precisión o la puntuación de relevancia. Los flujos de evaluación integrados y los personalizados se muestran en la página. Dado que la clasificación web es un escenario de clasificación, es adecuado seleccionar la opción Evaluación de precisión de clasificación que se va a evaluar.

Captura de pantalla de la clasificación web que muestra la ejecución por lotes y la evaluación en los métodos de evaluación.

Si le interesa cómo se definen las métricas para los métodos de evaluación integrados, puede obtener una vista previa de los flujos de evaluación si selecciona Más detalles.

Después seleccionar Evaluación de la precisión de la clasificación como método de evaluación, puede establecer la asignación de interfaces para asignar la verdad fundamental a la entrada de flujo y la predicción a la salida de flujo.

Captura de pantalla de la clasificación web que muestra la ejecución por lotes y la evaluación en la configuración de evaluación.

Después, seleccione Revisar y enviar para enviar una ejecución por lotes y la evaluación seleccionada.

Comprobar los resultados

Cuando la ejecución se haya enviado correctamente, seleccione Ver lista de ejecución para ir a la lista de ejecución por lotes de este flujo.

Es posible que la ejecución por lotes tarde un tiempo en finalizar. Puede actualizar la página para cargar el estado más reciente.

Una vez que se complete la ejecución por lotes, seleccione Visualizar salidas para ver el resultado de la ejecución por lotes. Seleccione Ver salidas (icono de ojo) para anexar los resultados de la evaluación a la tabla de resultados de ejecución por lotes. Puede ver el recuento total de tokens y la precisión general; después, en la tabla verá los resultados de cada fila de datos: entrada, salida de flujo y resultados de evaluación (qué casos se predicen correctamente y cuáles no).

Captura de pantalla de la página de detalles de la ejecución por lotes de la clasificación web para ver los resultados.

Puede ajustar el ancho de las columnas, ocultarlas o mostrarlas, y cambiarlas de orden. También puede seleccionar Exportar a fin de descargar la tabla de salida para una investigación más detallada; se proporcionan dos opciones:

  • Descargar página actual: un archivo CSV de las salidas de ejecución por lotes en la página actual.
  • Descargar todos los datos: lo que se descarga es un archivo de Jupyter Notebook; debe ejecutarlo para descargar las salidas en formato jsonl o csv.

Como quizá sepa, la precisión no es la única métrica que puede evaluar una tarea de clasificación; por ejemplo, también puede usar la coincidencia para evaluar. En este caso, puede seleccionar Evaluar junto al botón "Visualizar salidas" y elegir otros métodos de evaluación para evaluar.

Implementación

Después de compilar un flujo y probarlo correctamente, es posible que quiera implementarlo como punto de conexión para poder invocar el punto de conexión para la inferencia en tiempo real.

Configuración del punto de conexión

Seleccione el vínculo de la ejecución por lotes; después se le dirigirá a la página de detalles de la ejecución por lotes, seleccione Implementar. Aparece un asistente para permitirle configurar el punto de conexión. Especifique un punto de conexión y un nombre de implementación, seleccione una máquina virtual, establezca conexiones, realice algunas opciones de configuración (puede usar la predeterminada), seleccione Revisar y crear para iniciar la implementación.

Prueba del punto de conexión

Puede ir a la página de detalles del punto de conexión desde la notificación, o bien ir a Puntos de conexión en el panel de navegación de la izquierda en Studio y, después, seleccionar el punto de conexión en la pestaña Puntos de conexión en tiempo real. El punto de conexión tarda varios minutos en implementarse. Una vez implementado correctamente el punto de conexión, puede probarlo en la pestaña Prueba.

Coloque la URL que quiera probar en el cuadro de entrada y seleccione Probar; después verá el resultado predicho por el punto de conexión.

Limpieza de recursos

Si tiene previsto continuar con las guías pasos paso a paso y desea usar los recursos que ha creado aquí, vaya a Pasos siguientes.

Detención de una instancia de proceso

Si no va a utilizar ahora la instancia de proceso, deténgala:

  1. En el estudio, en el área de navegación de la izquierda, seleccione Proceso.
  2. En las pestañas superiores, seleccione Instancia de proceso.
  3. Seleccione la instancia de proceso en la lista.
  4. En la barra de herramientas superior, seleccione Detener.

Eliminación de todos los recursos

Si no va a usar ninguno de los recursos que ha creado, elimínelos para no incurrir en cargos:

  1. En Azure Portal, seleccione Grupos de recursos a la izquierda del todo.
  2. En la lista, seleccione el grupo de recursos que creó.
  3. Seleccione Eliminar grupo de recursos.

Pasos siguientes

Ahora que ya tiene una idea de lo que implica el desarrollo del flujo, su prueba, evaluación e implementación, obtenga más información sobre el proceso en estos tutoriales: