Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met werkstromen kunt u meerdere stappen samenvoegen. Elke stap verwerkt gegevens en geeft deze door aan de volgende.
Werkstroomstappen definiëren (uitvoerders):
using Microsoft.Agents.AI.Workflows;
// Step 1: Convert text to uppercase
class UpperCase : Executor
{
[Handler]
public async Task ToUpperCase(string text, WorkflowContext<string> ctx)
{
await ctx.SendMessageAsync(text.ToUpper());
}
}
// Step 2: Reverse the string and yield output
[Executor(Id = "reverse_text")]
static async Task ReverseText(string text, WorkflowContext<Never, string> ctx)
{
var reversed = new string(text.Reverse().ToArray());
await ctx.YieldOutputAsync(reversed);
}
Bouw en voer de werkstroom uit:
var upper = new UpperCase();
var workflow = new AgentWorkflowBuilder(startExecutor: upper)
.AddEdge(upper, ReverseText)
.Build();
var result = await workflow.RunAsync("hello world");
Console.WriteLine($"Output: {string.Join(", ", result.GetOutputs())}");
// Output: DLROW OLLEH
Aanbeveling
Bekijk het volledige voorbeeld voor het volledige runnable bestand.
Werkstroomstappen (uitvoerders) definiëren en deze verbinden met randen:
# Step 1: A class-based executor that converts text to uppercase
class UpperCase(Executor):
def __init__(self, id: str):
super().__init__(id=id)
@handler
async def to_upper_case(self, text: str, ctx: WorkflowContext[str]) -> None:
"""Convert input to uppercase and forward to the next node."""
await ctx.send_message(text.upper())
# Step 2: A function-based executor that reverses the string and yields output
@executor(id="reverse_text")
async def reverse_text(text: str, ctx: WorkflowContext[Never, str]) -> None:
"""Reverse the string and yield the final workflow output."""
await ctx.yield_output(text[::-1])
def create_workflow():
"""Build the workflow: UpperCase → reverse_text."""
upper = UpperCase(id="upper_case")
return (
WorkflowBuilder(start_executor=upper)
.add_edge(upper, reverse_text)
.build()
)
Bouw en voer de werkstroom uit:
workflow = create_workflow()
events = await workflow.run("hello world")
print(f"Output: {events.get_outputs()}")
print(f"Final state: {events.get_final_state()}")
Aanbeveling
Bekijk het volledige voorbeeld voor het volledige runnable bestand.
Volgende stappen
Ga dieper in:
- Overzicht van werkstromen - inzicht in werkstroomarchitectuur
- Opeenvolgende werkstromen : lineaire stapsgewijze patronen
- Agents in werkstromen : agents gebruiken als werkstroomstappen