Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Manchmal kann ein Workflow mit mehreren Executoren und komplexen Interaktionen schwer zu verstehen sein, indem er nur den Code liest. Die Visualisierung kann Ihnen helfen, die Struktur des Workflows deutlicher zu erkennen, damit Sie überprüfen können, ob er über den beabsichtigten Entwurf verfügt.
Die Workflowvisualisierung kann über Erweiterungsmethoden für die Workflow Klasse erreicht werden: ToMermaidString()und ToDotString(), welche das Mermaid-Diagrammformat bzw. das Graphviz DOT-Format generieren.
using Microsoft.Agents.AI.Workflows;
// Create a workflow with a fan-out and fan-in pattern
var workflow = new WorkflowBuilder()
.SetStartExecutor(dispatcher)
.AddFanOutEdges(dispatcher, [researcher, marketer, legal])
.AddFanInEdges([researcher, marketer, legal], aggregator)
.Build();
// Mermaid diagram
Console.WriteLine(workflow.ToMermaidString());
// DiGraph string
Console.WriteLine(workflow.ToDotString());
Zum Erstellen einer Bilddatei aus dem DOT-Format können Sie GraphViz-Tools mit dem folgenden Befehl verwenden:
dotnet run | tail -n +20 | dot -Tpng -o workflow.png
Tipp
Zum Exportieren von Visualisierungsimages müssen Sie GraphViz installieren.
Eine vollständige Arbeitsimplementierung mit Visualisierung finden Sie im Visualisierungsbeispiel.
Die Workflowvisualisierung erfolgt über ein WorkflowViz Objekt, das mit einem Workflow Objekt instanziiert werden kann. Das WorkflowViz Objekt kann dann Visualisierungen in verschiedenen Formaten generieren, z. B. das Graphviz DOT-Format oder das Mermaid-Diagrammformat.
Das Erstellen eines WorkflowViz Objekts ist einfach:
from agent_framework import WorkflowBuilder, WorkflowViz
# Create a workflow with a fan-out and fan-in pattern
workflow = (
WorkflowBuilder()
.set_start_executor(dispatcher)
.add_fan_out_edges(dispatcher, [researcher, marketer, legal])
.add_fan_in_edges([researcher, marketer, legal], aggregator)
.build()
)
viz = WorkflowViz(workflow)
Anschließend können Sie Visualisierungen in verschiedenen Formaten erstellen:
# Mermaid diagram
print(viz.to_mermaid())
# DiGraph string
print(viz.to_digraph())
# Export to a file
print(viz.export(format="svg"))
# Different formats are also supported
print(viz.export(format="png"))
print(viz.export(format="pdf"))
print(viz.export(format="dot"))
# Export with custom filenames
print(viz.export(format="svg", filename="my_workflow.svg"))
# Convenience methods
print(viz.save_svg("workflow.svg"))
print(viz.save_png("workflow.png"))
print(viz.save_pdf("workflow.pdf"))
Tipp
Für die einfache Textausgabe (Mermaid und DOT) sind keine zusätzlichen Abhängigkeiten erforderlich. Für den Imageexport müssen Sie das graphviz Python-Paket installieren, indem Sie Folgendes ausführen: pip install graphviz>=0.20.0 und GraphViz installieren.
Für eine vollständige Arbeitsimplementierung mit Visualisierung siehe das Beispiel Concurrent mit Visualisierung.
Das exportierte Diagramm sieht ähnlich wie im folgenden Beispielworkflow aus:
flowchart TD
dispatcher["dispatcher (Start)"];
researcher["researcher"];
marketer["marketer"];
legal["legal"];
aggregator["aggregator"];
fan_in__aggregator__e3a4ff58((fan-in))
legal --> fan_in__aggregator__e3a4ff58;
marketer --> fan_in__aggregator__e3a4ff58;
researcher --> fan_in__aggregator__e3a4ff58;
fan_in__aggregator__e3a4ff58 --> aggregator;
dispatcher --> researcher;
dispatcher --> marketer;
dispatcher --> legal;
oder im Graphviz DOT-Format:
Visualisierungsfunktionen
Knoten-Stil
- Ausführungsprogramme starten: Grüner Hintergrund mit der Aufschrift "(Start)"
- Reguläre Executoren: Blauer Hintergrund mit Executor-ID
- Einlaufknoten: Goldener Hintergrund mit Ellipsenform (DOT) oder doppelten Kreisen (Mermaid)
Kantenstyling
- Normale Kanten: Solide Pfeile
- Bedingte Kanten: Gestrichelte/gepunktete Pfeile mit "bedingten" Beschriftungen
- Lüfterausgang/Lüfter-In: Automatisches Routing über Zwischenknoten
Layoutoptionen
- Top-down-Layout: Klare Visualisierung des hierarchischen Flusses
- Teildiagrammclustering: Geschachtelte Workflows, die als gruppierte Cluster angezeigt werden
- Automatische Positionierung: GraphViz behandelt optimale Knotenplatzierung