Desarrollo de un flujo de solicitud (clásico)

Solo se aplica a:portal Foundry (clásico). Este artículo no está disponible para el nuevo portal de Foundry. Obtenga más información sobre el nuevo portal.

Nota

Los vínculos de este artículo pueden abrir contenido en la nueva documentación de Microsoft Foundry en lugar de la documentación de Foundry (clásico) que está viendo ahora.

Advertencia

El desarrollo de la función Prompt Flow finalizó el 20 de abril de 2026. La característica se retirará completamente el 20 de abril de 2027. En la fecha de retirada, Prompt Flow entra en modo de solo lectura. Los flujos existentes seguirán funcionando hasta esa fecha.

Recommended action: Migre las cargas de trabajo de Prompt Flow a Microsoft Agent Framework antes del 20 de abril de 2027.

Prompt flow es una herramienta de desarrollo diseñada para simplificar todo el ciclo de desarrollo de aplicaciones de INTELIGENCIA ARTIFICIAL con tecnología de modelos de lenguaje grande (LLM). El flujo de avisos proporciona una solución completa que simplifica el proceso de creación de prototipos, experimentación, iteración e implementación de las aplicaciones de inteligencia artificial.

Con el flujo de prompts, puede hacer lo siguiente:

  • Organice flujos ejecutables con MGG, indicaciones y herramientas de Python a través de un gráfico visualizado.
  • Pruebe, depure e itera los flujos con facilidad.
  • Cree variantes de aviso y compare su rendimiento.

En este artículo, aprenderá a crear y desarrollar su primer prompt flow en el portal de Microsoft Foundry.

Requisitos previos

Importante

En este artículo se proporciona soporte heredado para proyectos basados en concentradores. No funcionará para proyectos de Foundry. Vea ¿Cómo sé qué tipo de proyecto tengo?

SDK nota de compatibilidad: Los ejemplos de código requieren una versión específica del SDK de Microsoft Foundry. Si encuentra problemas de compatibilidad, considere migrar de un proyecto basado en hub a un proyecto Foundry.

  • El flujo de solicitud requiere una sesión de cómputo. Si no tiene un entorno de ejecución, puede crear uno en el portal de Foundry.
  • Necesita un modelo implementado.
  • En el proyecto, configure el control de acceso para la cuenta de Blob Storage. Asigne el rol Colaborador de datos de Storage Blob a su cuenta de usuario.
    • En la parte inferior izquierda del portal de Foundry, seleccione Centro de administración.
    • En Recursos conectados para el centro, seleccione el vínculo correspondiente al tipo Azure Blob Storage.
    • Seleccione Ver en el portal de Azure
    • En el portal de Azure, seleccione Access control (IAM).
    • Seleccione Agregar asignación>de roles.
    • Busque Colaborador de datos de Storage Blob y selecciónelo.
    • Use la página Agregar asignación de roles para agregarse como miembro.
    • Seleccione Revisar y asignar para revisar la asignación.
    • Seleccione Revisar y asignar para asignar el rol.

Crea y desarrolla tu flujo de indicaciones

Puede crear un flujo mediante la clonación de los ejemplos disponibles en la galería o la creación de un flujo desde cero. Si ya tiene archivos de flujo de trabajo en un recurso compartido de archivos o en local, también puede importar los archivos para crear un flujo de trabajo.

Para crear un flujo de indicaciones desde la galería en el portal de Foundry:

Propina

Dado que puede customizar el panel izquierdo en el portal de Microsoft Foundry, es posible que vea elementos diferentes de los que se muestran en estos pasos. Si no ve lo que busca, seleccione ... Más en la parte inferior del panel izquierdo.

Inicie sesión en Microsoft Foundry. Asegúrese de que el interruptor New Foundry está desactivado. Estos pasos hacen referencia a Foundry (clásico).

  1. Seleccione el proyecto.

  2. Si está en el Centro de administración, seleccione Ir al proyecto para volver al proyecto.

  3. En el menú izquierdo contraíble, seleccione Flujo de mensajes.

  4. Seleccione + Crear.

  5. En el icono Flujo estándar , seleccione Crear.

  6. En la página Crear un nuevo flujo , escriba un nombre de carpeta y, a continuación, seleccione Crear.

    Captura de pantalla de la selección y creación de un flujo estándar.

  7. Se abre la página de creación del flujo de avisos. Seleccione Iniciar sesión de proceso para que se ejecute una sesión de proceso para el flujo.

  8. Ahora puede comenzar a diseñar su flujo. De forma predeterminada, verá un flujo de ejemplo. Este flujo de ejemplo tiene nodos para las herramientas llm y Python.

    Captura de pantalla de la entrada y salida del flujo en la página de flujo de solicitud de edición.

    Nota

    La vista de gráfico es solo para visualizar. Muestra la estructura de flujo que usted está desarrollando. No puede editar la vista de gráfico directamente, pero puede acercar, alejar y desplazarse. Puede seleccionar un nodo en la vista de gráfico para resaltarlo y verlo en la vista de edición de herramientas.

  9. Opcionalmente, puede agregar más herramientas al flujo. Las opciones de herramientas visibles son LLM, Prompt y Python. Para ver más herramientas, seleccione + Más herramientas.

    Captura de pantalla de dónde puede encontrar más herramientas en la página de flujo del comando de edición.

  10. Seleccione una conexión e implementación en el editor de herramientas de LLM.

    Captura de pantalla de la conexión y la implementación seleccionadas en la herramienta LLM en la página de flujo de solicitud de edición.

  11. En la sección Entradas , agregue un valor para el tema. Por ejemplo, "átomos".

  12. Seleccione Ejecutar para ejecutar el flujo.

    Captura de pantalla de dónde seleccionar la opción de ejecutar en la página de flujo de comando de edición.

  13. El estado de ejecución del flujo se muestra como En ejecución.

    Captura de pantalla del flujo en estado de ejecución en la página editar el flujo de la solicitud de comando.

  14. Una vez completada la ejecución del flujo, seleccione Ver salidas para ver los resultados del flujo.

    Captura de pantalla de donde puede seleccionar ver los resultados del flujo desde la página de edición del flujo de indicaciones.

  15. Puede ver el estado y la salida de la ejecución del flujo en la sección Salidas .

    Captura de pantalla de los detalles de salida.

Creación del flujo

Cada flujo se representa mediante una carpeta que contiene un archivo "flow.dag.yaml", archivos de código fuente y carpetas del sistema. Puede agregar nuevos archivos, editar archivos existentes y eliminar archivos. También puede exportar los archivos a local o importar archivos desde local.

Además de editar en línea el nodo en la vista predeterminada, también puede activar el botón de alternancia Modo de archivo bruto y seleccionar el nombre de archivo para editarlo en la pestaña de archivo abierto.

Entrada y salida de flujo

La entrada de flujo es los datos que se pasan al flujo en su conjunto. Defina el esquema de entrada especificando el nombre y el tipo. Establezca el valor de entrada de cada entrada para probar el flujo. Puede hacer referencia a la entrada de flujo más adelante en los nodos de flujo mediante la sintaxis ${inputs.[input name]}.

La salida del flujo es los datos generados por el flujo en su conjunto, que resume los resultados de la ejecución del flujo. Puede ver y exportar la tabla de salida una vez completada la ejecución del flujo o la ejecución por lotes. Defina el valor de salida del flujo haciendo referencia a la salida de un solo nodo de flujo mediante la sintaxis ${[node name].output} o ${[node name].output.[field name]}.

Al hacer referencia a la salida del nodo, puede vincular los nodos juntos. Por ejemplo, puede hacer referencia a la salida del nodo LLM en la entrada del nodo Python, por lo que el nodo Python puede consumir la salida del nodo LLM y, en la vista de gráfico, puede ver que los dos nodos están vinculados juntos.

Habilitación del control condicional en el flujo

Prompt Flow no solo ofrece una manera simplificada de ejecutar el flujo, sino que también aporta una característica eficaz para los desarrolladores: control condicional, que permite a los usuarios establecer condiciones para la ejecución de cualquier nodo en un flujo.

En su núcleo, el control condicional proporciona la capacidad de asociar cada nodo de un flujo con una configuración de activación. Esta configuración es básicamente una instrucción "when" que determina cuándo se debe ejecutar un nodo. La eficacia de esta característica se realiza cuando tiene flujos complejos en los que la ejecución de determinadas tareas depende del resultado de las tareas anteriores. Mediante el control condicional, puede configurar los nodos específicos para que se ejecuten solo cuando se cumplan las condiciones especificadas.

En concreto, puede establecer la configuración de activación de un nodo seleccionando el botón Activar configuración en la tarjeta de nodo. Puede agregar la instrucción "when" y establecer la condición. Puede establecer las condiciones haciendo referencia a la entrada de flujo o a la salida del nodo. Por ejemplo, puede establecer la condición ${inputs.[input name]} como valor específico o ${[node name].output} como valor específico.

Si no se cumple la condición, se omite el nodo. El estado del nodo se muestra como "Omitido".

Prueba del flujo

Puede probar el flujo de dos maneras:

  • Ejecute un solo nodo:

    • Para ejecutar un solo nodo, seleccione el icono Ejecutar en un nodo de la vista predeterminada. Una vez completada la ejecución, puede comprobar rápidamente el resultado en la sección Salidas del nodo. Captura de pantalla que muestra el botón Ejecutar en la tarjeta de nodo.
  • Ejecute todo el flujo:

    • Para ejecutar todo el flujo, seleccione el botón Ejecutar en la parte superior derecha.

Visualización del resultado y el seguimiento de pruebas (versión preliminar)

El seguimiento está deshabilitado de forma predeterminada. Para habilitar el seguimiento, debe establecer la variable de entorno PF_DISABLE_TRACING en false. Una manera de hacerlo es agregando lo siguiente al nodo de Python:

import os
os.environ["PF_DISABLE_TRACING"] = "false"

Para la ejecución completa del flujo, después de ejecutar el flujo, puede ver el estado de ejecución en la barra de estado. Para ver el seguimiento para comprobar el resultado y observar la ejecución del flujo, puede seleccionar Ver salidas y, a continuación, seleccionar la pestaña seguimiento . Puede ver la entrada y salida del flujo completo y cada nodo, junto con información más detallada para la depuración. Está disponible durante la ejecución y después de que la ejecución haya terminado.

Comprender la vista de seguimiento

Seleccione la pestaña Seguimiento de la pantalla de Salidas para ver un gráfico que proporciona información sobre la duración y el costo asociado de tokens del flujo. Seleccione flujo bajo el nombre del nodo para ver una visión detallada del flujo en el panel derecho.

 Captura de pantalla del detalle de traza.

Nota

En el SDK de flujo de mensajes, definimos varios tipos de intervalo, como LLM, Function, Embedding, Retrieval y Flow. Y el sistema crea automáticamente intervalos con información de ejecución en atributos y eventos designados.

Para obtener más información sobre los tipos de segmentos, consulte Tramo de traza.

Desarrollo de un flujo de chat

El flujo de chat está diseñado para el desarrollo de aplicaciones conversacionales, basándose en las funcionalidades del flujo estándar y proporciona compatibilidad mejorada con entradas y salidas de chat y administración del historial de chat. Con el flujo de chat, puede crear fácilmente un bot de chat que controle la entrada y salida del chat.

En la página de creación del flujo de chat, el flujo de chat se etiqueta con una etiqueta de "chat" para distinguirlo del flujo estándar y del flujo de evaluación. Para probar el flujo de chat, seleccione el botón "Chat" para desencadenar un cuadro de chat para la conversación.

Entrada y salida de chat y historial de chat

Los elementos más importantes que diferencian un flujo de chat de un flujo estándar son Entrada de chat, Historial de chat y Salida de chat.

  • Entrada de chat: la entrada de chat hace referencia a los mensajes o consultas enviados por los usuarios al bot de chat. Controlar eficazmente la entrada de chat es fundamental para una conversación correcta, ya que implica comprender las intenciones del usuario, extraer información relevante y desencadenar las respuestas adecuadas.
  • Historial de chat: el historial de chat es el registro de todas las interacciones entre el usuario y el bot de chat, incluidas las entradas de usuario y las salidas generadas por IA. Mantener el historial de chat es esencial para realizar un seguimiento del contexto de conversación y asegurarse de que la inteligencia artificial puede generar respuestas contextualmente relevantes.
  • Salida de chat: La salida de chat hace referencia a los mensajes que la IA genera y que se envían al usuario en respuesta a sus entradas. La generación de una salida de chat adecuada y atractiva contextualmente es fundamental para una experiencia positiva del usuario.

Un flujo de chat puede tener varias entradas: el historial de chat y la entrada de conversación son necesarios en el flujo de chat.

  • En la sección de entradas del flujo de chat, se puede marcar una entrada del flujo como entrada de chat. A continuación, puede rellenar el valor de entrada del chat escribiendo en el cuadro de chat.

  • El flujo de avisos puede ayudar al usuario a administrar el historial de chat. El chat_history elemento de la sección Entradas está reservado para representar el historial de chat. Todas las interacciones del cuadro de chat, incluidas las entradas de chat de usuario, las salidas de chat generadas y otras entradas y salidas de flujo, se almacenan automáticamente en el historial de chat. El usuario no puede establecer manualmente el valor de chat_history en la sección Entradas. Se estructura como una lista de entradas y salidas:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

Nota

La capacidad de guardar o administrar automáticamente el historial de chats es una característica de la página de creación al realizar pruebas en el cuadro de chat. En el caso de las ejecuciones por lotes, es necesario que los usuarios incluyan el historial de chat en el conjunto de datos de ejecución por lotes. Si no hay ningún historial de chat disponible para las pruebas, establezca el chat_history en una lista [] vacía dentro del conjunto de datos de ejecución por lotes.

Indicador del autor con historial de chat

La incorporación del historial de chat a las solicitudes es esencial para crear respuestas de bot de chat atractivas y con reconocimiento del contexto. En sus indicaciones, puede hacer referencia a chat_history para recuperar interacciones anteriores. Esto le permite hacer referencia a entradas y salidas anteriores para crear respuestas contextualmente relevantes.

Usa la gramática for-loop del lenguaje Jinja para mostrar una lista de entradas y salidas de chat_history.

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

Prueba con el cuadro de chat

El cuadro de chat proporciona una manera interactiva de probar el flujo de chat simulando una conversación con el bot de chat. Para probar el flujo de chat mediante el cuadro de chat, siga estos pasos:

  1. Seleccione el botón "Chat" para abrir el cuadro de chat.
  2. Escriba las entradas de prueba en el cuadro de chat y presione Entrar para enviarlos al bot de chat.
  3. Revise las respuestas del bot de chat para asegurarse de que son contextualmente adecuadas y precisas.
  4. Vea el seguimiento implementado para observar y depurar rápidamente.

Pasos siguientes