Aracılığıyla paylaş


Microsoft Agent Framework İş Akışları - Görselleştirme

Bazen birden çok yürütücüye ve karmaşık etkileşime sahip bir iş akışını yalnızca kodu okuyarak anlamak zor olabilir. Görselleştirme, iş akışının yapısını daha net görmenize yardımcı olabilir, böylece hedeflenen tasarıma sahip olduğunu doğrulayabilirsiniz.

İş akışı görselleştirmesi, Workflow sınıfındaki ToMermaidString() ve ToDotString() genişletme yöntemleri aracılığıyla elde edilebilir: Bunlar sırasıyla Mermaid diyagram formatını ve Graphviz DOT formatını üretir.

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());

DOT biçiminden bir görüntü dosyası oluşturmak için aşağıdaki komutla GraphViz araçlarını kullanabilirsiniz:

dotnet run | tail -n +20 | dot -Tpng -o workflow.png

Tavsiye

Görselleştirme görüntülerini dışarı aktarmak için GraphViz'i yüklemeniz gerekir.

Görselleştirme ile eksiksiz bir çalışma uygulaması için Bkz. Görselleştirme örneği.

İş akışı görselleştirmesi, bir WorkflowViz nesneyle örnek oluşturulabilen bir Workflow nesne aracılığıyla gerçekleştirilir. Nesne WorkflowViz daha sonra Graphviz DOT biçimi veya Denizkızı diyagramı biçimi gibi farklı biçimlerde görselleştirmeler oluşturabilir.

WorkflowViz Nesne oluşturmak basittir:

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)

Ardından farklı biçimlerde görselleştirmeler oluşturabilirsiniz:

# 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"))

Tavsiye

Temel metin çıkışı (Mermaid ve DOT) için ek bağımlılık gerekmez. Görüntü dışarı aktarma için şunu çalıştırarak graphviz Python paketini yüklemeniz pip install graphviz>=0.20.0 ve GraphViz'i yüklemeniz gerekir.

Görselleştirme ile eksiksiz bir çalışma uygulaması için Bkz. Concurrent with Visualization örneği.

Dışarı aktarılan diyagram, örnek iş akışı için aşağıdakine benzer olacaktır:

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;

veya Graphviz DOT biçiminde:

İş Akışı Diyagramı

Görselleştirme Özellikleri

Düğüm Şekillendirme

  • Yürütücüleri başlatma: "(Başlat)" etiketli yeşil arka plan
  • Normal yürütücüler: Yürütücü kimliğine sahip mavi arka plan
  • Fan-in düğümleri: Elips şekli (DOT) veya çift daireli (Mermaid) altın arka plan.

Kenar Şekillendirme

  • Normal kenarlar: Düz oklar
  • Koşullu kenarlar: "koşullu" yazılarıyla kesikli/noktalı çizgiler
  • Fan-out/Fan-in: Ara düğümler aracılığıyla otomatik yönlendirme

Düzen Seçenekleri

  • Yukarıdan aşağıya düzen: Hiyerarşik akışın net görselleştirilmesi
  • Alt grafik kümeleme: Gruplandırılmış kümeler olarak gösterilen iç içe geçmiş iş akışları
  • Otomatik konumlandırma: GraphViz en uygun düğüm yerleşimini işler