Compartir a través de


Creación de un flujo de trabajo en Microsoft Foundry

Los flujos de trabajo son herramientas basadas en la interfaz de usuario en Microsoft Foundry. Puede usarlos para crear secuencias declarativas y predefinidas de acciones que incluyan agentes, como en los flujos de trabajo de Microsoft Agent Framework.

Los flujos de trabajo le permiten crear sistemas de automatización inteligente que combinen sin problemas agentes de inteligencia artificial con procesos empresariales de forma visual. Los sistemas tradicionales de agente único están limitados en su capacidad para controlar tareas complejas y multifacéticas. Mediante la orquestación de varios agentes, cada uno con aptitudes o roles especializados, puede crear sistemas más sólidos, adaptables y capaces de resolver problemas del mundo real de forma colaborativa.

Prerrequisitos

Conceptos de flujo de trabajo

Para crear un flujo de trabajo en Foundry, puede comenzar con un flujo de trabajo en blanco o seleccionar una de las plantillas de patrones de orquestación predefinidos:

Modelo Description Caso de uso típico
Usuarios del bucle Formula una pregunta al usuario y espera la entrada del usuario para continuar. Crear solicitudes de aprobación durante la ejecución del flujo de trabajo y esperar la aprobación humana o obtener información del usuario
Secuencial Pasa el resultado de un agente al siguiente en un orden definido Flujos de trabajo, canalizaciones o procesamiento de varias fases paso a paso
Chat de grupo Pasa dinámicamente el control entre agentes en función del contexto o las reglas Flujos de trabajo dinámicos, escalada, reserva o escenarios de entrega expertos

Para obtener más información, consulte Orquestaciones de flujo de trabajo de Microsoft Agent Framework.

Creación de un flujo de trabajo

En los pasos siguientes se muestra cómo crear un tipo secuencial de flujo de trabajo como ejemplo:

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

  2. En el menú superior derecho, seleccione Compilar.

  3. Seleccione Crear nuevo flujo de trabajo>secuencial.

  4. Asigne un agente a los nodos del agente seleccionando cada nodo del agente en el flujo de trabajo y seleccionando el agente deseado o creando uno nuevo. Para obtener más información, consulte Incorporación de agentes al flujo de trabajo más adelante en este artículo.

  5. Seleccione Guardar en el visualizador para guardar los cambios.

    Importante

    Los flujos de trabajo no se guardan automáticamente. Seleccione Guardar cada vez que quiera guardar los cambios en el flujo de trabajo.

  6. Seleccione Ejecutar flujo de trabajo.

  7. Interactúe con el flujo de trabajo en la ventana de chat.

  8. Opcionalmente, agregue nuevos nodos al flujo de trabajo. En la sección siguiente de este artículo se proporciona información sobre los nodos.

Adición de nodos al flujo de trabajo

Los nodos definen los bloques de construcción del flujo de trabajo. Entre los tipos de nodo comunes se incluyen:

  • Agente: invoque un agente.
  • Lógica: use if/else, vaya a o para cada uno.
  • Transformación de datos: establezca una variable o analice un valor.
  • Chat básico: envíe un mensaje o haga una pregunta a un agente.

Al seleccionar un flujo de trabajo precompilado, aparece un flujo de trabajo de nodos en el generador. Cada nodo corresponde a una acción o componente específico y realiza un paso en secuencia. Para modificar el orden de los nodos, seleccione los tres puntos de un nodo y, a continuación, seleccione Mover. Para agregar nuevos nodos, seleccione el icono más (+) en el área de trabajo.

Incorporación de agentes al flujo de trabajo

Puede agregar cualquier agente de Foundry desde el proyecto al flujo de trabajo. Los nodos del agente también permiten crear nuevos agentes y proporcionarles funcionalidades personalizadas mediante la configuración de su modelo, solicitud y herramientas.

Para obtener opciones avanzadas e información completa sobre la creación del agente, vaya a la pestaña Agente de Foundry en el portal de Foundry.

Adición de un agente existente

  1. En el visualizador de flujo de trabajo, seleccione el signo más.

  2. En la lista desplegable emergente, seleccione Invocar agente.

  3. En la ventana Crear nuevo agente , seleccione existente.

  4. Escriba el nombre del agente para buscar agentes existentes en su proyecto Foundry.

  5. Seleccione el agente deseado para agregarlo al flujo de trabajo.

Crear un agente nuevo

  1. En el visualizador de flujo de trabajo, seleccione el signo más.

  2. En la lista desplegable emergente, seleccione Invocar agente.

  3. Escriba un nombre de agente y una descripción de lo que hace el agente.

  4. Selecciona Agregar.

  5. En la ventana Invocar un agente , configure el agente.

  6. Haga clic en Guardar.

Configuración de un formato de respuesta de salida para invocar un agente

  1. Cree un nodo Invocar agente.

  2. En la ventana Invoke agent configuration (Invocar configuración del agente), seleccione Crear un nuevo agente.

  3. Configure el agente para enviar la salida como un esquema JSON:

    1. Seleccione Detalles.
    2. Seleccione el icono de parámetro.
    3. En Formato de texto, seleccione Esquema JSON.

    Captura de pantalla que muestra la ventana para configurar un formato de esquema JSON para la salida.

  4. Copie el esquema JSON deseado y péguelo en la ventana Agregar formato de respuesta . En la captura de pantalla siguiente se muestra un ejemplo matemático. Haga clic en Guardar.

    Captura de pantalla que muestra la adición de un formato de respuesta en JSON.

    {
      "name": "math_response",
      "schema": {
        "type": "object",
        "properties": {
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "explanation": {
                  "type": "string"
                },
                "output": {
                  "type": "string"
                }
              },
              "required": [
                "explanation",
                "output"
              ],
              "additionalProperties": false
            }
          },
          "final_answer": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "required": [
          "steps",
          "final_answer"
        ]
      },
      "strict": true
    }
    
  5. Seleccione Configuración de acción. A continuación, seleccione Guardar json_object/json_schema de salida como.

  6. Seleccione Crear nueva variable. Elija un nombre de variable y, a continuación, seleccione Listo.

    Captura de pantalla que muestra las opciones para crear una nueva variable en un flujo de trabajo de Microsoft Foundry.

Uso de características adicionales

  • Vista del visualizador de YAML: al establecer el botón de alternancia Vista del visualizador de YAML en Activado, el flujo de trabajo se almacena en un archivo YAML. Puede modificarlo en el visualizador y en la vista YAML. Guardar crea una nueva versión y tiene acceso al historial de versiones.

    El visualizador y el YAML son editables. Los cambios realizados en el archivo YAML se reflejan en el visualizador.

  • Control de versiones: cada vez que guarde el flujo de trabajo, se crea una versión nueva e inmutable. Para ver el historial de versiones o eliminar versiones anteriores, abra la lista desplegable Versión a la izquierda del botón Guardar .

  • Notas del visualizador de flujo de trabajo: puede agregar notas al visualizador de flujo de trabajo para agregar más contexto o información para el flujo de trabajo. En la esquina superior izquierda del visualizador de flujo de trabajo, seleccione Agregar nota.

Creación de expresiones mediante Power Fx

Power Fx es el lenguaje de fórmulas de poco código que funciona de manera muy similar a las fórmulas de Excel. Utilice Power Fx para crear lógica compleja que permite a sus agentes para manipular datos. Por ejemplo, una fórmula Power Fx puede establecer el valor de una variable, analizar una cadena o usar una expresión en una condición. Para obtener más información, consulte la Información general sobre Power Fx y la referencia de fórmulas.

Usar variables en una fórmula

Para utilizar una variable en una fórmula de Power Fx, debe agregar un prefijo a su nombre para indicar el alcance de la variable:

  • Para las variables del sistema, use System.
  • Para las variables locales, use Local.

Estas son las variables del sistema:

Nombre Description
Activity Información sobre la actividad actual
Bot Información sobre el agente
Conversation Información sobre la conversación actual
Conversation.Id Identificador único de la conversación actual
Conversation.LocalTimeZone Zona horaria del usuario, en el formato de base de datos de zona horaria de IANA
Conversation.LocalTimeZoneOffset Desplazamiento de hora desde UTC para la zona horaria local actual
Conversation.InTestMode Marca booleana que representa si la conversación está ocurriendo en un lienzo de prueba
ConversationId Identificador único de la conversación actual
InternalId Identificador interno del sistema
LastMessage Información sobre el mensaje anterior que envió el usuario
LastMessage.Id Identificador del mensaje anterior que envió el usuario
LastMessage.Text Mensaje anterior que envió el usuario
LastMessageId Identificador del mensaje anterior que envió el usuario
LastMessageText Mensaje anterior que envió el usuario
Recognizer Información sobre el reconocimiento de intenciones y el mensaje desencadenador
User Información sobre el usuario que está hablando actualmente con el agente
User.Language Localización del idioma del usuario por conversación
UserLanguage Localización del idioma del usuario por conversación

Usar valores literales en una fórmula

Además de usar variables en una fórmula de Power Fx, puede ingresar valores literales. Para usar un valor literal en una fórmula, debe ingresar el valor en el formato que corresponde a su tipo:

En la tabla siguiente se enumeran los tipos de datos y el formato de sus valores literales correspondientes:

Tipo Ejemplos de formato
String "hi", , "hello world!", "copilot"
Boolean Solo true o false
Number 1, 532, , 5.258,-9201
Registro y tabla [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, , { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Fecha y hora Time(5,0,23), , Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
Opción No está soportado
En blanco Solo Blank()

Fórmulas comunes de Power Fx

En la tabla siguiente se enumeran las fórmulas de Power Fx que puede usar con cada tipo de datos.

Tipo Fórmulas Power Fx
String [Text function][1]
[Concat and Concatenate functions][2]
[Len function][3]
[Lower, Upper, and Proper functions][4]
[IsMatch, Match, and MatchAll functions][5]
[EndsWith and StartsWith functions][6]
[Find function][7]
[Replace and Substitute function][8]
Boolean [Boolean function][9]
[And, Or, and Not functions][10]
[If and Switch functions][11]
Number [Decimal, Float, and Value functions][12]
[Int, Round, RoundDown, RoundUp, and Trunc functions][13]
Registro y tabla [Concat and Concatenate functions][14]
[Count, CountA, CountIf, and CountRows functions][15]
[ForAll function][16]
[First, FirstN, Index, Last, and LastN functions][17]
[Filter, Search, and LookUp functions][18]
[JSON function][19]
[ParseJSON function][20]
Fecha y hora [Date, DateTime, and Time functions][21]
[DateValue, TimeValue, and DateTimeValue functions][22]
[Day, Month, Year, Hour, Minute, Second, and Weekday functions][23]
[Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday functions][24]
[DateAdd, DateDiff, and TimeZoneOffset functions][25]
[Text function][26]
En blanco [Blank, Coalesce, IsBlank, and IsEmpty functions][27]
[Error, IfError, IsError, IsBlankOrError functions][28]

Usar Power Fx para establecer una variable

En este ejemplo, una expresión de Power Fx almacena y genera el nombre del cliente en letras mayúsculas:

  1. Cree un flujo de trabajo y agregue un nodo Hacer una pregunta .

  2. En el panel que aparece, en el cuadro Hacer una pregunta , escriba ¿Cuál es su nombre? u otro mensaje. En el cuadro Guardar respuesta del usuario como , escriba un nombre de variable; por ejemplo, Var01. A continuación, seleccione Done (Listo).

    Captura de pantalla que muestra la configuración de una pregunta para enviar un mensaje.

  3. Agregue una acción Enviar mensaje . En el panel que aparece, en el área Mensaje que se va a enviar , escriba {Upper(Local.Var01)}. A continuación, seleccione Done (Listo).

    Captura de pantalla que muestra la instanciación de variable para la acción de enviar un mensaje.

  4. Seleccione Vista previa.

  5. En el panel de vista previa, envíe un mensaje al agente para invocar el flujo de trabajo.

    Captura de pantalla que muestra la vista previa de una pregunta para la acción de enviar un mensaje.

Usar Power Fx para crear flujos if/else

En este ejemplo, una expresión de Power Fx almacena y genera el nombre del cliente en mayúsculas.

  1. Cree un flujo de trabajo y agregue un nodo Hacer una pregunta .

  2. Seleccione el + icono y agregue un flujo if/else .

  3. Escriba System. en el cuadro de texto Condición para crear una instrucción condicional para cada combinación if/else. Captura de pantalla que muestra las variables del sistema en el cuadro de texto condición if-else.

  4. Seleccione una acción siguiente para el siguiente paso deseado en el flujo de trabajo.

  5. Seleccione Listo. Seleccione Guardar para guardar el flujo de trabajo.