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.
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
- Una cuenta de Azure con una suscripción activa. Si no tiene una, cree una cuenta gratuita de Azure, que incluye una suscripción de evaluación gratuita.
- Un proyecto en Microsoft Foundry.
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:
-
Inicie sesión en Microsoft Foundry. Asegúrese de que el interruptor New Foundry está activado. Estos pasos hacen referencia a Foundry (nuevo).
En el menú superior derecho, seleccione Compilar.
Seleccione Crear nuevo flujo de trabajo>secuencial.
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.
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.
Seleccione Ejecutar flujo de trabajo.
Interactúe con el flujo de trabajo en la ventana de chat.
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
En el visualizador de flujo de trabajo, seleccione el signo más.
En la lista desplegable emergente, seleccione Invocar agente.
En la ventana Crear nuevo agente , seleccione existente.
Escriba el nombre del agente para buscar agentes existentes en su proyecto Foundry.
Seleccione el agente deseado para agregarlo al flujo de trabajo.
Crear un agente nuevo
En el visualizador de flujo de trabajo, seleccione el signo más.
En la lista desplegable emergente, seleccione Invocar agente.
Escriba un nombre de agente y una descripción de lo que hace el agente.
Selecciona Agregar.
En la ventana Invocar un agente , configure el agente.
Haga clic en Guardar.
Configuración de un formato de respuesta de salida para invocar un agente
Cree un nodo Invocar agente.
En la ventana Invoke agent configuration (Invocar configuración del agente), seleccione Crear un nuevo agente.
Configure el agente para enviar la salida como un esquema JSON:
- Seleccione Detalles.
- Seleccione el icono de parámetro.
- En Formato de texto, seleccione Esquema JSON.
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.
{ "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 }Seleccione Configuración de acción. A continuación, seleccione Guardar json_object/json_schema de salida como.
Seleccione Crear nueva variable. Elija un nombre de variable y, a continuación, seleccione Listo.
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:
Cree un flujo de trabajo y agregue un nodo Hacer una pregunta .
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).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).Seleccione Vista previa.
En el panel de vista previa, envíe un mensaje al agente para invocar el flujo de trabajo.
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.
Cree un flujo de trabajo y agregue un nodo Hacer una pregunta .
Seleccione el + icono y agregue un flujo if/else .
Escriba
System.en el cuadro de texto Condición para crear una instrucción condicional para cada combinación if/else.
Seleccione una acción siguiente para el siguiente paso deseado en el flujo de trabajo.
Seleccione Listo. Seleccione Guardar para guardar el flujo de trabajo.