Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Advertencia
Prompt flow en Microsoft Foundry y Azure Machine Learning se retirará el 20 de abril de 2027. Prompt flow ya no se recomienda para nuevos desarrollos. Migre las aplicaciones e implementaciones existentes de Prompt flow a Microsoft Agent Framework antes del 20 de abril de 2027.
Las imágenes de contenedor de Prompt flow ya no reciben actualizaciones, incluidas las actualizaciones de seguridad y de paquetes. Esto se aplica a las imágenes de entorno de ejecución de Prompt flow, incluidas promptflow-runtime, promptflow-runtime-stable y promptflow-python.
Después del 20 de abril de 2027, Prompt flow, incluida la experiencia de creación web en Microsoft Foundry y Azure Machine Learning, las extensiones de VS Code y las imágenes de contenedor relacionadas de Prompt flow, dejará de ser compatible y de estar disponible.
Si su aplicación depende de implementaciones de Prompt flow o de imágenes en tiempo de ejecución, planifique trasladar esas cargas de trabajo a alternativas compatibles, como Microsoft Agent Framework, antes de la fecha de retirada. Para obtener instrucciones sobre la migración, consulte la guía de migración de flujo de mensajes y ejemplos de código de migració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.
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 que realizará son:
- Probar el flujo y prepararlo para la implementación
- Creación de una implementación en línea
- Concesión de permisos al punto de conexión
- Prueba del punto de conexión
- Consumo del punto de conexión
Importante
Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. La versión preliminar se proporciona sin un contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.
Requisitos previos
Obtenga información cómo compilar y probar un flujo en el flujo de avisos del sistema.
Tenga conocimientos básicos sobre los puntos de conexión en línea administrados. Los puntos de conexión en línea administrados funcionan con máquinas eficaces de CPU y GPU en Azure de una manera escalable y totalmente administrada que le libera de la sobrecarga de configurar y administrar la infraestructura de implementación subyacente. Para más información sobre los puntos de conexión en línea administrados, consulte Puntos de conexión en línea e implementaciones para la inferencia en tiempo real.
Los controles de acceso basados en rol de Azure (Azure RBAC) se usan para conceder acceso a las operaciones en Azure Machine Learning. Para poder implementar un punto de conexión en el flujo de trabajo, a su cuenta de usuario se le debe asignar el rol de Científico de Datos de AzureML o un rol con más privilegios para el área de trabajo Azure Machine Learning.
Tenga conocimientos básicos sobre las identidades administradas. Obtenga más información sobre las identidades administradas.
Nota
El punto de conexión en línea administrado solo admite la red virtual administrada. Si el área de trabajo está en una red virtual personalizada, debe probar otras opciones de implementación, como implementar en el punto de conexión en línea de Kubernetes mediante la CLI o el SDK, o implementar en otras plataformas, como Docker.
Creación del flujo y preparación para la implementación
Si ya ha completado el tutorial de introducción, ya ha probado correctamente el flujo mediante el envío de la ejecución por lotes y la evaluación de los resultados.
Si no ha completado el tutorial, debe crear un flujo. Probar el flujo correctamente mediante la ejecución por lotes y la evaluación antes de la implementación es un procedimiento recomendado.
Usaremos el flujo de muestra clasificación web como ejemplo para mostrar cómo implementar el flujo. Este flujo de ejemplo es un flujo estándar. La implementación de flujos de chat es similar. El flujo de evaluación no admite la implementación.
Definición del entorno usado por la implementación
Al implementar el flujo de solicitud en un punto de conexión en línea administrado a través de la interfaz de usuario, la implementación usará por defecto el entorno creado en función de la imagen más reciente del flujo de solicitud y las dependencias especificadas en el requirements.txt del flujo de solicitud. Puede especificar paquetes adicionales que necesita en requirements.txt. Puede encontrar requirements.txt en la carpeta raíz de la carpeta de flujo.
Nota
Si usa fuentes privadas en Azure devops, primero debe crear la imagen con fuentes privadas y seleccionar el entorno personalizado para implementarlo en la interfaz de usuario.
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.
El flujo de avisos le permite implementar puntos de conexión a partir de un flujo o de una ejecución por lotes. Se recomienda probar el flujo antes de la implementación.
En la página de creación de flujos o en la página de detalles de ejecución, seleccione Implementar.
Página de creación de flujo de trabajo:
Página de detalles de ejecución:
Aparecerá un asistente para que configure el punto de conexión que incluye los siguientes pasos.
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 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 va a usar para la implementación. Para obtener la lista de tamaños admitidos, consulte la lista de SKU de extremos en línea administrados. |
| Conteo de instancias | Número de instancias que se van a usar para la implementación. Especifique el valor de la carga de trabajo que espera. Para lograr una alta disponibilidad, se recomienda establecer el valor en al menos 3. Reservamos un adicional de 20% para realizar actualizaciones. Para más información, consulte Cuotas de puntos de conexión en línea administrados. |
| Recopilación de datos de inferencia | Si lo habilita, las entradas y salidas del flujo se recopilarán automáticamente en un recurso de datos de Azure Machine Learning y se pueden usar para la supervisión posterior. Para más información, consulte cómo supervisar las aplicaciones de ia generativas. |
Después de finalizar la configuración básica, puede revisar y crear directamente para finalizar la creación, o bien 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.
Tipo de autenticación
Método de autenticación para el punto de conexión. La autenticación basada en claves proporciona una clave principal y secundaria que no expira. Azure Machine Learning autenticación basada en tokens proporciona un token que se actualiza periódicamente automáticamente. Para obtener más información sobre la autenticación, consulte Autenticación en un punto de conexión en línea.
Tipo de identidad
El punto de conexión debe acceder a los recursos de Azure, como Azure Container Registry o las conexiones del espacio de trabajo para realizar inferencias. Puede permitir que el punto de conexión acceda a los recursos de Azure concediéndole permiso a su identidad administrada.
La identidad asignada por el sistema se creará automáticamente después de que se cree el punto de conexión, mientras que la identidad asignada por el usuario debe ser creada por el usuario. Obtenga más información sobre las identidades administradas.
Asignado por el sistema
Observará que hay una opción para Imponer acceso a secretos de conexión (versión preliminar). Si el flujo usa conexiones, el punto de conexión debe acceder a las conexiones para realizar la inferencia. La opción está habilitada de forma predeterminada, se le concederá al punto de conexión el rol Azure Machine Learning Workspace Connection Secrets Reader para acceder a las conexiones automáticamente si posee permiso de lector de secretos de conexión. Si deshabilita esta opción, debe conceder manualmente este rol a la identidad asignada por el sistema o pedir ayuda al administrador. Obtenga más información sobre cómo conceder permiso a la identidad del punto de conexión.
Nota
En el caso de las identidades asignadas por el sistema, se asignan automáticamente varios roles (como AcrPull, Lector de datos de Storage Blob y Escritor de métricas de AzureML). Para obtener más información, consulte Autenticación y autorización para puntos de conexión en línea.
Asignado por el usuario
Al crear una implementación, Azure intenta extraer la imagen del contenedor del usuario del área de trabajo de Azure Container Registry (ACR) y montar el modelo de usuario y los artefactos de código en el contenedor del usuario desde la cuenta de almacenamiento del área de trabajo.
Si creó el punto de conexión asociado con una identidad asignada por el usuario, se deben conceder los siguientes roles a esta identidad antes de la creación de la implementación; de lo contrario, fallará la creación de la implementación.
| Ámbito | Rol | Por qué es necesario |
|---|---|---|
| área de trabajo de Azure Machine Learning | Rol de Lector de secretos de conexión del área de trabajo de Azure Machine LearningO BIEN un rol personalizado con "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action" | Obtener conexiones del área de trabajo |
| Registro de contenedor del área de trabajo | Extracción de ACR | Extracción de imagen de contenedor |
| Almacenamiento predeterminado del área de trabajo | Lector de datos de Storage Blob | Carga del modelo desde el almacenamiento |
| (Opcional) área de trabajo de Azure Machine Learning | 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 uso de CPU, GPU, disco o memoria, debe conceder este permiso a la identidad. |
Consulte 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: implementación
En este paso, excepto las etiquetas, también puede especificar el entorno usado por la implementación.
Uso del entorno de definición de flujo actual
De forma predeterminada, la implementación usará el entorno creado a partir de la imagen base especificada en el flow.dag.yaml y las dependencias especificadas en el requirements.txt.
Puede especificar la imagen base en
flow.dag.yamlseleccionandoRaw file modedel flujo. Si no se especifica ninguna imagen, la imagen base predeterminada es la imagen base del flujo de mensajes más reciente.Puede encontrar
requirements.txten la carpeta raíz de la carpeta de flujo y agregar dependencias dentro de ella.
Uso del entorno personalizado
También puede crear un entorno personalizado y usarlo para la implementación.
Nota
El entorno personalizado debe cumplir los siguientes requisitos:
- La imagen de Docker debe crearse basada en la imagen base de prompt flow,
mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version>. Puede encontrar la versión más reciente aquí. - la definición del entorno debe incluir
inference_config.
A continuación se muestra un ejemplo de definición de entorno personalizada.
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
path: ./image_build
dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
liveness_route:
port: 8080
path: /health
readiness_route:
port: 8080
path: /health
scoring_route:
port: 8080
path: /score
Habilitación del seguimiento mediante la activación de diagnósticos de Application Insights (versión preliminar)
Si habilita esto, los datos de seguimiento y las métricas del sistema durante el tiempo de inferencia (como el recuento de tokens, la latencia de flujo, la solicitud de flujo, etc.) se recopilarán en Application Insights vinculado al área de trabajo. Para más información, consulte métricas y datos de seguimiento de servicio de flujo de avisos.
Si desea especificar una instancia de Application Insights diferente a la del área de trabajo vinculada, puede configurarla mediante la CLI.
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.
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 Owner de los recursos de Azure específicos. Es posible que tenga que pedir ayuda al administrador de TI. Se recomienda conceder roles a la identidad asignada por el usuarioantes de la implementación. El permiso concedido puede tardar más de 15 minutos en surtir efecto.
Puede conceder todos los permisos en Azure interfaz de usuario del portal siguiendo los pasos que se indican a continuación.
Vaya a la página de información general del área de trabajo de Azure Machine Learning en Azure portal.
Seleccione Control de acceso y seleccione Agregar asignación de roles.
Seleccione Lector de secretos de conexión del espacio 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 del área de trabajo.
Si desea usar un rol personalizado, asegúrese de que el rol personalizado dispone del permiso "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action". Obtenga más información sobre cómo crear roles personalizados.
Seleccione Identidad administrada y seleccione miembros.
Para la identidad asignada por el sistema, seleccione Punto de conexión en línea de Machine Learning en Identidad administrada asignada por el sistema y busque por nombre de 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 área de trabajo. Puede encontrar el registro de contenedor y la cuenta de almacenamiento en la página de información general del área de trabajo en Azure portal.
Vaya a la página de información general del registro de contenedores del área de trabajo, seleccione Control de acceso, seleccione Añadir asignación de rol, y asigne Extracción de 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 área de trabajo, seleccione Control de acceso, y seleccione Agregar asignación de roles, y asigne Storage Blob Data Reader a la identidad del punto de conexión.
(opcional) En el caso de la identidad asignada por el usuario, si desea supervisar las métricas relacionadas con el punto de conexión, como el uso de CPU, GPU, disco o memoria, debe concederle a la identidad también el rol de escritor de métricas del área de trabajo.
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 Implementar detalles en la página de detalles de la notificación al punto de conexión.
También puede ir directamente a la página Endpoints en Studio y comprobar el estado del endpoint que desplegó.
Prueba del punto de conexión con datos de ejemplo
En la página de detalles del punto de conexión, cambie a la pestaña Prueba .
Puede escribir los valores y seleccionar el botón Probar .
El resultado de la prueba muestra lo siguiente:
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 probarlos en una ventana de chat inmersiva.
El parámetro chat_input se estableció durante el desarrollo del flujo de chat. Puede escribir el chat_input mensaje en el cuadro de entrada. El panel de Entradas en el lado derecho es para que especifiques los valores de otras entradas además de chat_input. Obtenga más información sobre cómo desarrollar un flujo de chat.
Consumo del punto de conexión
En la página de detalles del punto de conexión, cambie a la pestaña Consumir. Puede encontrar el punto de conexión REST y la clave o token para consumir su punto de conexión. También hay código de ejemplo para que usted pueda utilizar el endpoint en distintos idiomas.
Tenga en cuenta que debe rellenar los valores de datos según las entradas de flujo. Tome el flujo de ejemplo usado en este artículo Clasificación web como ejemplo. Debe especificar data = {"url": "<the_url_to_be_classified>"} y rellenar la clave o el token en el código de consumo de ejemplo.
Supervisión de puntos de conexión
Visualización de las métricas comunes de puntos de conexión en línea administrados mediante Azure Monitor (opcional)
Puede ver varias métricas (número de solicitudes, latencia de solicitud, bytes de la red, uso de CPU/GPU/disco/memoria, etc.) para un punto de conexión en línea y sus implementaciones siguiendo los vínculos de la página Detalles del punto de conexión en el studio. A continuación, estos vínculos le llevan a la página de métricas exactas del portal de Azure para el punto de conexión o la implementación.
Nota
Si especifica la identidad asignada por el usuario para el punto de conexión, asegúrese de que ha asignado el escritor de métricas de área de trabajo de área de trabajo de Azure Machine Learning a la identidad asignada por el usuario. De lo contrario, el punto de conexión no podrá registrar las métricas.
Para obtener más información sobre cómo ver las métricas de puntos de conexión en línea, consulte Supervisión de puntos de conexión en línea.
Ver métricas y datos de seguimiento específicos de los puntos de conexión del flujo de avisos (opcional)
Si habilita Diagnósticos de Application Insights en el asistente para la implementación de la interfaz de usuario, las métricas específicas del flujo de avisos y los datos de seguimiento se recopilarán en la instancia de Application Insights vinculada al área de trabajo. Consulte los detalles sobre la habilitación del seguimiento para su implementación.
Solución de problemas de puntos de conexión implementados desde el flujo de mensajes
Falta autorización para realizar la acción "Microsoft. MachineLearningService/workspaces/datastores/read"
Si el flujo contiene la herramienta Búsqueda de índices, después de implementar el flujo, el punto de conexión debe acceder al almacén de datos del área de trabajo para leer el archivo yaml de MLIndex o la carpeta FAISS que contiene fragmentos e incrustaciones. Por lo tanto, debe conceder manualmente el permiso de identidad del punto de conexión para hacerlo.
Puede conceder la identidad del punto de conexión AzureML Científico de datos en el ámbito del área de trabajo o un rol personalizado que contenga la acción "MachineLearningService/workspace/datastore/reader".
Error MissingDriverProgram
Si implementa su flujo con un entorno personalizado y encuentra el siguiente error, podría deberse a que no especificó el inference_config en la definición de su entorno personalizado.
'error':
{
'code': 'BadRequest',
'message': 'The request is invalid.',
'details':
{'code': 'MissingDriverProgram',
'message': 'Could not find driver program in the request.',
'details': [],
'additionalInfo': []
}
}
Hay dos maneras de corregir este error.
(Recomendado) Puede encontrar el URI de la imagen de contenedor en la página de detalles del entorno personalizado y establecerlo como la imagen base de flujo en el archivo flow.dag.yaml. Al implementar el flujo en la interfaz de usuario, solo tiene que seleccionar Usar entorno de definición de flujo actual y el servicio back-end creará el entorno personalizado basado en esta imagen base y
requirement.txtpara la implementación. Obtenga más información sobre el entorno especificado en la definición de flujo.Para corregir este error, agregue
inference_configen su definición del entorno personalizado. Obtenga más información sobre cómo usar el entorno personalizado.A continuación se muestra un ejemplo de definición de entorno personalizada.
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
path: ./image_build
dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
liveness_route:
port: 8080
path: /health
readiness_route:
port: 8080
path: /health
scoring_route:
port: 8080
path: /score
La respuesta del modelo tarda demasiado tiempo
A veces, es posible que observe que la implementación tarda demasiado tiempo en responder. Hay varios factores potenciales para que esto ocurra.
- El modelo no es lo suficientemente potente (por ejemplo, usar gpt en lugar de text-ada)
- La consulta de índice no está optimizada y tarda demasiado tiempo
- Flow tiene muchos pasos para procesar
Considere la posibilidad de optimizar el punto de conexión con consideraciones anteriores para mejorar el rendimiento del modelo.
No se puede capturar el esquema de implementación
Después de implementar el punto de conexión y de probarlo en la pestaña Prueba de la página de detalles del punto de conexión, si la pestaña Prueba muestra No se puede capturar el esquema de implementación como el siguiente, puede probar los siguientes 2 métodos para mitigar este problema:
- Asegúrese de que ha concedido el permiso correcto a la identidad del punto de conexión. Obtenga más información sobre cómo conceder permiso a la identidad del punto de conexión.
Acceso denegado a enumerar el secreto del área de trabajo
Si se produce un error como "Acceso denegado a enumerar el secreto del área de trabajo", compruebe si ha concedido el permiso correcto a la identidad del punto de conexión. Obtenga más información sobre cómo conceder permiso a la identidad del punto de conexión.
Limpieza de recursos
Si no va a usar el punto de conexión después de completar este tutorial, debe eliminar el punto de conexión.
Nota
La eliminación completa puede tardar aproximadamente 20 minutos.
Pasos siguientes
- Itera y optimiza tu flujo ajustando indicaciones mediante variantes
- Habilitación del seguimiento y recopilación de comentarios para la implementación
- Ver los costos de un punto de conexión en línea administrado por Azure Machine Learning
- Solución de problemas de las implementaciones del flujo de solicitud.
- Implementación de un flujo para la inferencia en tiempo real en Foundry (clásico)