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 permiten encadenar varios pasos: cada paso procesa los datos y los pasa a la siguiente.
Definir pasos de flujo de trabajo (ejecutores):
using Microsoft.Agents.AI.Workflows;
// Step 1: Convert text to uppercase
Func<string, string> uppercaseFunc = s => s.ToUpperInvariant();
var uppercase = uppercaseFunc.BindAsExecutor("UppercaseExecutor");
// Step 2: Reverse the string and yield output
class ReverseTextExecutor() : Executor<string, string>("ReverseTextExecutor")
{
public override ValueTask<string> HandleAsync(string message, IWorkflowContext context, CancellationToken cancellationToken = default)
{
return ValueTask.FromResult(string.Concat(message.Reverse()));
}
}
ReverseTextExecutor reverse = new();
Compile y ejecute el flujo de trabajo:
WorkflowBuilder builder = new(uppercase);
builder.AddEdge(uppercase, reverse).WithOutputFrom(reverse);
var workflow = builder.Build();
await using Run run = await InProcessExecution.RunAsync(workflow, "Hello, World!");
foreach (WorkflowEvent evt in run.NewEvents)
{
if (evt is ExecutorCompletedEvent executorComplete)
{
Console.WriteLine($"{executorComplete.ExecutorId}: {executorComplete.Data}");
}
}
Sugerencia
Consulte aquí para obtener una aplicación de ejemplo ejecutable completa.
Defina los pasos de flujo de trabajo (ejecutores) y conéctelos con bordes:
Compile y ejecute el flujo de trabajo:
Sugerencia
Consulte el ejemplo completo para obtener el archivo ejecutable completo.
Pasos siguientes
Vaya más profundamente:
- Introducción a los flujos de trabajo : descripción de la arquitectura del flujo de trabajo
- Flujos de trabajo secuenciales : patrones paso a paso lineales
- Agentes en flujos de trabajo : uso de agentes como pasos de flujo de trabajo