Implementación de un flujo para la inferencia en tiempo real
Importante
Algunas de las características descritas en este artículo solo pueden estar disponibles en versión preliminar. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Después de crear un flujo de avisos y probarlo correctamente, es posible que quiera implementarlo como punto de conexión en línea. Las implementaciones se hospedan dentro de un punto de conexión y pueden recibir datos de clientes y enviar respuestas en tiempo real.
Puede invocar el punto de conexión para la inferencia en tiempo real para chat, copiloto u otra aplicación de IA generativa. El flujo de avisos admite la implementación de puntos de conexión desde un flujo o desde una ejecución de prueba masiva.
En este artículo, aprenderá a implementar un flujo como punto de conexión en línea administrado para la inferencia en tiempo real. Los pasos son:
- Probar el flujo y prepararlo para la implementación.
- Crear una implementación en línea.
- Conceder permisos al punto de conexión.
- Prueba del punto de conexión.
- Consumir el punto de conexión.
Requisitos previos
Para implementar un flujo de avisos como punto de conexión en línea, necesita lo siguiente:
- Suscripción a Azure. Si no tiene una, cree una cuenta gratuita antes de empezar.
- Un proyecto de inteligencia artificial de Azure Studio.
Creación de una implementación en línea
Ahora que ha creado un flujo y lo ha probado correctamente, es el momento de crear el punto de conexión en línea para la inferencia en tiempo real.
Siga los pasos que se indican a continuación para implementar un flujo de aviso como punto de conexión en línea en inteligencia artificial de Azure Studio.
Tener un flujo de aviso listo para la implementación. Si no tiene uno, vea cómo crear un flujo de avisos.
Opcional: seleccione Chat para probar si el flujo funciona correctamente. Se recomienda probar el flujo antes de implementarlo.
Seleccione Implementar en el editor de flujo.
Proporcione la información solicitada en la página Configuración básica del asistente para la implementación.
Seleccione Revisar y crear para revisar la configuración y crear la implementación. De lo contrario, puede seleccionar Siguiente para continuar con las páginas de configuración avanzadas.
Seleccione Crear para implementar el flujo de avisos.
Para ver el estado de la implementación, seleccione Implementaciones en el panel de navegación izquierdo. Una vez creada correctamente la implementación, puede seleccionar la implementación para ver los detalles.
Seleccione la pestaña Consumir para ver ejemplos de código que se pueden usar para consumir el modelo implementado en la aplicación.
Nota:
En esta página también puede ver la dirección URL del punto de conexión que puede usar para consumir el punto de conexión.
Puede utilizar el punto de conexión de REST directamente o empezar con uno de los ejemplos que se muestran aquí.
Para más información, vea la sección siguiente.
Sugerencia
Para obtener una guía sobre cómo implementar un modelo base, consulte Implementación de modelos con Inteligencia artificial de Azure Studio.
Opciones y configuraciones
Archivo de texto de requisitos
Opcionalmente, puede especificar paquetes adicionales que necesita en requirements.txt
. Puede encontrar requirements.txt
en la carpeta raíz de la carpeta de flujo. Al implementar el flujo de avisos en el punto de conexión en línea administrado en la interfaz de usuario, de forma predeterminada, la implementación usa el entorno creado en función de la imagen base especificada en el flow.dag.yaml
y las dependencias especificadas en el requirements.txt
del flujo.
Nota:
La imagen base especificada en el flow.dag.yaml
debe crearse en función de la imagen base del flujo del símbolo del sistema mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version>
y puede encontrar la versión más reciente aquí. Si no especifica la imagen base en el flow.dag.yaml
, la implementación usará la imagen base predeterminada mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:latest
.
Configuración básica
Este paso le permite configurar las opciones básicas de la implementación.
Propiedad | Descripción |
---|---|
Punto de conexión | Puede seleccionar si desea implementar un nuevo punto de conexión o actualizar un punto de conexión existente. Si selecciona Nuevo, debe especificar el nombre del punto de conexión. |
Nombre de implementación | - Dentro del mismo punto de conexión, el nombre de la implementación debe ser único. - Si selecciona un punto de conexión existente y escribe un nombre de implementación existente, esa implementación se sobrescribirá con las nuevas configuraciones. |
Máquina virtual | Tamaño de máquina virtual que se usará para la implementación. |
Recuento de instancias | El número de instancias que se usarán para la implementación. Especifique el valor en la carga de trabajo esperada. Para lograr alta disponibilidad, se recomienda establecer el valor en al menos 3 . Reservamos un 20 % adicional para realizar actualizaciones. |
Recopilación de datos de inferencia | Si lo habilita esta opción, las entradas y salidas del flujo se recopilan automáticamente en un recurso de datos de Azure Machine Learning y se pueden usar para la supervisión posterior. |
Después de finalizar la configuración básica, puede Revisar y crear para finalizar la creación o puede seleccionar Siguiente para configurar opciones avanzadas.
Configuración avanzada: punto de conexión
Puede especificar la siguiente configuración para el punto de conexión.
En el flujo de trabajo de configuración avanzada, también puede especificar etiquetas de implementación y seleccionar un entorno personalizado.
Tipo de autenticación
Método de autenticación del punto de conexión. La autenticación basada en claves proporciona una clave principal y secundaria que no expira. La autenticación basada en tokens de Azure Machine Learning proporciona un token que se actualiza periódicamente de forma automática.
Tipo de identidad
El punto de conexión debe acceder a recursos de Azure, como Azure Container Registry o las conexiones del centro de Inteligencia artificial de Azure Studio para la inferencia. Puede permitir que el permiso del punto de conexión acceda a los recursos de Azure mediante el permiso para conceder permiso a su identidad administrada.
La identidad asignada por el sistema se creará automáticamente después de crear el punto de conexión, mientras que el usuario crea la identidad asignada por el usuario. Más información sobre las identidades administradas.
Asignada por el sistema
Observará que hay una opción que permite a Enforce acceder a los secretos de conexión (vista previa). Si el flujo usa conexiones, el punto de conexión debe acceder a las conexiones para realizar la inferencia. La opción está activada por defecto, al punto de conexión se le concede el rol de lector de secretos de conexión del área de trabajo de Azure Machine Learning para acceder a las conexiones automáticamente si tiene permiso de lector de secretos de conexión. Si deshabilita esta opción, debe conceder este rol manualmente a la identidad asignada por el sistema manualmente o pedir ayuda del administrador. Obtenga más información sobre cómo conceder permiso a la identidad del punto de conexión.
Asignada por el usuario
Al crear la implementación, Azure intenta extraer la imagen de contenedor de usuario desde Azure Container Registry (ACR) del centro de Inteligencia artificial de Azure Studio y monta el modelo de usuario y los artefactos de código en el contenedor de usuarios desde la cuenta de almacenamiento del centro.
Si creó el punto de conexión asociado con Identidad asignada por el usuario, la identidad de usuario asignada debe tener concedidas las siguientes funciones antes de la creación de la implementación; de lo contrario, la creación de la implementación fallará.
Ámbito | Role | Por qué se necesita |
---|---|---|
Proyecto de Inteligencia artificial de Azure Studio | Rol de lector de secretos de conexión del área de trabajo de Azure Machine Learning O un rol personalizado con Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action |
Obtención de conexiones del proyecto |
Registro de contenedores de proyectos de Inteligencia artificial de Azure Studio | Extracción de ACR | Extracción de imagen de contenedor |
Almacenamiento predeterminado del proyecto de Inteligencia artificial de Azure Studio | Lector de datos de blobs de almacenamiento | Cargar el modelo desde el almacenamiento |
Proyecto de Inteligencia artificial de Azure Studio | Escritor de métricas del área de trabajo | Después de implementar el punto de conexión, si desea supervisar las métricas relacionadas con el punto de conexión, como el uso de CPU, GPU, disco o memoria, debe conceder este permiso a la identidad. Opcional |
Consulte las instrucciones detalladas sobre cómo conceder permisos a la identidad del punto de conexión en Concesión de permisos al punto de conexión.
Importante
Si el flujo usa conexiones de autenticación basadas en Microsoft Entra ID, independientemente de que use la identidad asignada por el sistema o la identidad asignada por el usuario, siempre debe conceder a la identidad administrada los roles adecuados de los recursos correspondientes para que pueda realizar llamadas API a ese recurso. Por ejemplo, si la conexión de Azure OpenAI usa la autenticación basada en Microsoft Entra ID, debe conceder la identidad administrada del punto de conexión Rol de colaborador de OpenAI de Cognitive Services o de OpenAI de Cognitive Services de los recursos de Azure OpenAI correspondientes.
Configuración avanzada: salidas y conexiones
En este paso puede ver todas las salidas de flujo y especificar qué salidas se incluirán en la respuesta del punto de conexión que implemente. De forma predeterminada, se seleccionan todas las salidas de flujo.
También puede especificar las conexiones que usa el punto de conexión cuando realiza la inferencia. De forma predeterminada, se heredan del flujo.
Una vez configurado y revisado todos los pasos anteriores, puede seleccionar Revisar y crear para finalizar la creación.
Nota:
Espere que la creación del punto de conexión tarde aproximadamente más de 15 minutos, ya que contiene varias fases, como la creación de un punto de conexión, el registro del modelo, la creación de la implementación, etc.
Puede comprender el progreso de la creación de la implementación a través de la notificación iniciada por implementación del flujo de avisos.
Habilitación del seguimiento mediante la activación de diagnósticos de Application Insights (versión preliminar)
Si lo habilita, los datos de seguimiento y las métricas del sistema durante el tiempo de inferencia (como el recuento de tokens, la latencia del flujo, la solicitud de flujo, etc.) se recopilarán en las áreas de trabajo vinculadas a Application Insights. Para más información, consulte métricas y datos de seguimiento de servicio de flujo de avisos.
Concesión de permisos al punto de conexión
Importante
La concesión de permisos (agregar asignación de roles) solo está habilitada para el propietario de los recursos específicos de Azure. Es posible que tenga que pedir ayuda al propietario de la suscripción de Azure (que podría ser el administrador de TI).
Se recomienda conceder roles a la identidad asignada por el usuario antes de la creación de la implementación. El permiso concedido podría tardar más de 15 minutos en surtir efecto.
Para conceder los permisos necesarios en la interfaz de usuario de Azure Portal, siga estos pasos.
Vaya a la página de información general del proyecto de Inteligencia artificial de Azure Studio en Azure Portal.
Seleccione Control de acceso, y seleccione Agregar asignación de rol.
Seleccione lector de secretos de conexión del área de trabajo de Azure Machine Learning, vaya a Siguiente.
Nota:
Lector de secretos de conexión del área de trabajo de Azure Machine Learning es un rol integrado que tiene permiso para obtener conexiones de centros.
Si desea usar un rol personalizado, asegúrese de que el rol personalizado tenga el permiso de
Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action
. Obtenga información sobre cómo crear roles personalizados.Seleccione Identidad administrada y seleccione los miembros.
Para Identidad asignada por el sistema, seleccione Punto de conexión en línea de aprendizaje automático en Identidad administrada asignada por el sistema, y busque por el nombre del punto de conexión.
Para la identidad asignada por el usuario, seleccione Identidad administrada asignada por el usuario y busque por nombre de identidad.
Para la identidad asignada por el usuario, también debe conceder permisos al registro de contenedor del centro y la cuenta de almacenamiento. Puede encontrar el registro de contenedor y la cuenta de almacenamiento en la página de información general del centro en Azure Portal.
Vaya a la página de información general del registro de contenedor del centro, seleccione Control de acceso, después Agregar asignación de roles y asigne Extraer ACR |Extraer imagen de contenedor a la identidad del punto de conexión.
Vaya a la página de información general del almacenamiento predeterminado del centro, seleccione Control de acceso, después Agregar asignación de roles y asigne Lector de datos de blob de almacenamiento a la identidad del punto de conexión.
(opcional) Para la identidad asignada por el usuario, si quiere supervisar las métricas relacionadas con el punto de conexión, como las de uso de CPU, GPU, disco o memoria, también debe conceder el rol Escritor de métricas del área de trabajo del centro a la identidad.
Comprobación del estado del punto de conexión
Habrá notificaciones después de finalizar el asistente de implementación. Una vez que el punto de conexión y la implementación se han creado correctamente, puede seleccionar Ver detalles en la página de detalles de la notificación a la implementación.
También puede ir directamente a la página Implementaciones desde el panel de navegación izquierdo, seleccionar la implementación y comprobar el estado.
Prueba del punto de conexión
En la página de detalles del implementación, cambie a la pestaña Prueba.
En el caso de los puntos de conexión implementados desde el flujo estándar, puede escribir valores en el editor de formularios o en el editor JSON para probar el punto de conexión.
Prueba del punto de conexión implementado desde un flujo de chat
En el caso de los puntos de conexión implementados desde el flujo de chat, puede probarlo en una ventana de chat inmersiva.
El chat_input
se estableció durante el desarrollo del flujo de chat. Puede introducir el mensaje chat_input
en la casilla de entrada. Si su flujo tiene varias entradas, el panel Entradas de la derecha le permite especificar los valores de otras entradas además de chat_input
.
Consumo del punto de conexión
En la página de detalles del implementación, cambie a la pestaña Consumir. Puede encontrar el punto de conexión REST y la clave o token para consumir el punto de conexión. También hay código de ejemplo para que consuma el punto de conexión en distintos idiomas.
Debe escribir valores para RequestBody
o data
y api_key
. Por ejemplo, si el flujo tiene 2 entradas location
y url
, debe especificar los datos como se indica a continuación.
{
"location": "LA",
"url": "<the_url_to_be_classified>"
}
Limpieza de recursos
Si no va a usar el punto de conexión después de completar este tutorial, debería eliminarlo.
Nota:
La eliminación completa puede tardar aproximadamente 20 minutos.
Pasos siguientes
- Más información sobre lo que puede hacer en Inteligencia artificial de Azure Studio
- Obtenga respuestas a las preguntas más frecuentes en el artículo preguntas más frecuentes sobre Azure AI.
- [Habilite el seguimiento y recopile comentarios para la implementación] (./develop/trace-production-sdk.md)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de