Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I flussi di lavoro consentono di concatenare più passaggi, ognuno dei quali elabora i dati e lo passa alla successiva.
Definire i passaggi del flusso di lavoro (esecutori):
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();
Compilare ed eseguire il flusso di lavoro:
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}");
}
}
Suggerimento
Vedere qui per un'applicazione di esempio eseguibile completa.
Definire i passaggi del flusso di lavoro (executor) e connetterli ai bordi:
Compilare ed eseguire il flusso di lavoro:
Suggerimento
Vedere l'esempio completo per il file eseguibile completo.
Passaggi successivi
Approfondimento:
- Panoramica dei flussi di lavoro : informazioni sull'architettura del flusso di lavoro
- Flussi di lavoro sequenziali — modelli lineari passo dopo passo
- Agenti nei flussi di lavoro : uso degli agenti come passaggi del flusso di lavoro