Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Czasami przepływ pracy, który ma wiele funkcji wykonawczych i złożonych interakcji, może być trudny do zrozumienia z samego czytania kodu. Wizualizacja może ułatwić bardziej czytelne wyświetlanie struktury przepływu pracy, dzięki czemu można sprawdzić, czy ma on zamierzony projekt.
Wizualizację przepływu pracy można osiągnąć za pomocą metod rozszerzeń w Workflow klasie : ToMermaidString()i ToDotString(), które generują odpowiednio format diagramu Mermaid i Graphviz DOT.
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());
Aby utworzyć plik obrazu w formacie DOT, możesz użyć narzędzi GraphViz za pomocą następującego polecenia:
dotnet run | tail -n +20 | dot -Tpng -o workflow.png
Wskazówka
Aby wyeksportować obrazy wizualizacji, musisz zainstalować program GraphViz.
Aby uzyskać pełną implementację roboczą z wizualizacją, zobacz przykład Wizualizacja.
Wizualizacja przepływu pracy jest wykonywana za pośrednictwem obiektu WorkflowViz, który można zainstancjonować za pomocą obiektu Workflow. Obiekt WorkflowViz może następnie generować wizualizacje w różnych formatach, takich jak format Graphviz DOT lub format diagramu Mermaid.
WorkflowViz Tworzenie obiektu jest proste:
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)
Następnie można tworzyć wizualizacje w różnych formatach:
# 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"))
Wskazówka
W przypadku podstawowego wyjścia tekstowego (Mermaid i DOT) nie są potrzebne żadne dodatkowe zależności. W przypadku eksportowania graphviz obrazów należy zainstalować pakiet języka Python, uruchamiając polecenie : pip install graphviz>=0.20.0 i zainstaluj program GraphViz.
Aby uzyskać pełną implementację roboczą z wizualizacją, zobacz przykład Concurrent with Visualization.
Wyeksportowany diagram będzie wyglądać podobnie do następującego dla przykładowego przepływu pracy:
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;
lub w formacie DOT Graphviz:
Funkcje wizualizacji
Styl węzła
- Uruchamianie funkcji wykonawczych: zielone tło z etykietą "(Start)"
- Regularni wykonawcy: Niebieskie tło z identyfikatorem wykonawcy
- Węzły skupiające: Złote tło z kształtem elipsy (DOT) lub podwójnymi okręgami (Mermaid)
Stylizacja krawędzi
- Zwykłe krawędzie: strzałki stałe
- Krawędzie warunkowe: kreskowane/kropkowane strzałki z etykietami "warunkowymi"
- Fan-out/Fan-in: automatyczny routing za pośrednictwem węzłów pośrednich
Opcje układu
- Układ od góry do dołu: Jasna wizualizacja przepływu hierarchicznego
- Klastrowanie podgrafów: zagnieżdżone przepływy pracy wyświetlane jako zgrupowane klastry
- Automatyczne pozycjonowanie: Narzędzie GraphViz obsługuje optymalne umieszczanie węzłów