mirror of
https://github.com/microsoft/autogen.git
synced 2026-04-20 03:02:16 -04:00
Update documentation on topic and subscription with illustrations (#523)
* Update runtime architecture documentation * Update documentation on topic and subscription with illustrations
This commit is contained in:
106
python/packages/autogen-core/docs/drawio/subscription.drawio
Normal file
106
python/packages/autogen-core/docs/drawio/subscription.drawio
Normal file
@@ -0,0 +1,106 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0" version="24.7.6">
|
||||
<diagram id="SL2L58OzhDkTRMMmBrpl" name="Page-1">
|
||||
<mxGraphModel dx="765" dy="1158" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-36" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="390" width="380" height="270" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-1" target="xynyrZGPAnKqHGhxIo0k-2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-1" target="xynyrZGPAnKqHGhxIo0k-3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-17" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-1" target="xynyrZGPAnKqHGhxIo0k-4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-1" value="Topic" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="220" y="510" width="80" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-18" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-2" target="xynyrZGPAnKqHGhxIo0k-6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-2" value="Subscription" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="345" y="450" width="95" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-19" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-3" target="xynyrZGPAnKqHGhxIo0k-7">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-20" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-3" target="xynyrZGPAnKqHGhxIo0k-8">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-3" value="Subscription" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="345" y="510" width="95" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-22" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-4" target="xynyrZGPAnKqHGhxIo0k-9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-4" value="Subscription" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="345" y="570" width="95" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-6" target="xynyrZGPAnKqHGhxIo0k-23">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-6" value="Agent ID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="486" y="420" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-7" target="xynyrZGPAnKqHGhxIo0k-24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-7" value="Agent ID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="486" y="480" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-8" target="xynyrZGPAnKqHGhxIo0k-25">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-8" value="Agent ID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="486" y="540" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-9" target="xynyrZGPAnKqHGhxIo0k-26">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-9" value="Agent ID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="486" y="600" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xynyrZGPAnKqHGhxIo0k-11" target="xynyrZGPAnKqHGhxIo0k-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-11" value="Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="100" y="515" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-13" value="Publish" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="140" y="490" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-23" value="Agent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="630" y="420" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-24" value="Agent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="630" y="480" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-25" value="Agent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="630" y="540" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-26" value="Agent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="630" y="600" width="70" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-31" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="400" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-32" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="470" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-33" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="530" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-34" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="570" y="590" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="xynyrZGPAnKqHGhxIo0k-35" value="Mapping Topic to Agent ID" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="312.5" y="400" width="160" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,89 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0" version="24.7.6">
|
||||
<diagram id="SEMb81fnvzcG-_hcjzhJ" name="Page-1">
|
||||
<mxGraphModel dx="1213" dy="1158" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-1" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="150" y="410" width="510" height="290" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-50" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;dashed=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="420" width="170" height="270" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-42" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-5" target="0t9SMKTS3B_TfDHjOXI4-37">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-5" value="Topic_1<div>type="github_issues"<br>source=".../issues/1"</div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="170" y="520" width="140" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-13" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-14" target="0t9SMKTS3B_TfDHjOXI4-24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-14" value="AgentID_1<div>type="triage_agent", key=".,./issues/1"<br></div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="520" width="140" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-21" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-22" target="0t9SMKTS3B_TfDHjOXI4-5">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="145" y="555" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-22" value="Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="51" y="536" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-23" value="Publish" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="96" y="516" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-24" value="TriageAgent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="710" y="531" width="86" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-28" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="650" y="516" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-43" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-37" target="0t9SMKTS3B_TfDHjOXI4-14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-37" value="Subscription<div>Topic_1 -&gt; AgentID_1</div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="337.5" y="520" width="135" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-49" value="Auto-generated from TypeSubscription<div>topic_type="github_issues"</div><div>agent_type="triage_agent"</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="317.5" y="430" width="175" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-63" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-64" target="0t9SMKTS3B_TfDHjOXI4-73">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-64" value="Topic_9<div>type="github_issues"<br>source=".../issues/9"</div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="170" y="614" width="140" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-65" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-66" target="0t9SMKTS3B_TfDHjOXI4-70">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-66" value="AgentID_9<div>type="triage_agent", key=".,./issues/9"<br></div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="614" width="140" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-67" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-68" target="0t9SMKTS3B_TfDHjOXI4-64">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="145" y="649" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-68" value="Message" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="51" y="630" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-69" value="Publish" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="96" y="610" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-70" value="TriageAgent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="710" y="625" width="86" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-71" value="Deliver" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
|
||||
<mxGeometry x="650" y="610" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-72" value="" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="0t9SMKTS3B_TfDHjOXI4-73" target="0t9SMKTS3B_TfDHjOXI4-66">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="0t9SMKTS3B_TfDHjOXI4-73" value="Subscription<div>Topic_9 -&gt; AgentID_9</div>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="337.5" y="614" width="135" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 123 KiB |
@@ -42,6 +42,12 @@ silos.
|
||||
|
||||
A subscription maps topic to agent IDs.
|
||||
|
||||

|
||||
|
||||
The diagram above shows the relationship between topic and subscription.
|
||||
An agent runtime keeps track of the subscriptions and uses them to deliver
|
||||
messages to agents.
|
||||
|
||||
If a topic has no subscription, messages published to this topic will
|
||||
not be delivered to any agent.
|
||||
If a topic has many subscriptions, messages will be delivered
|
||||
@@ -52,7 +58,7 @@ Applications can add or remove subscriptions using agent runtime's API.
|
||||
|
||||
A type-based subscription maps a topic type to an agent type
|
||||
(see [agent ID](./agent-identity-and-lifecycle.md#agent-id)).
|
||||
It declares a mapping from topics to agent IDs without knowing the
|
||||
It declares an unbounded mapping from topics to agent IDs without knowing the
|
||||
exact topic sources and agent keys.
|
||||
The mechanism is simple: any topic matching the type-based subscription's
|
||||
topic type will be mapped to an agent ID with the subscription's agent type
|
||||
@@ -62,15 +68,17 @@ and the agent key assigned to the value of the topic source.
|
||||
Type-Based Subscription = Topic Type --> Agent Type
|
||||
```
|
||||
|
||||
For example, a type-based subscription maps topic type `"GitHub_Issues"`
|
||||
to agent type `"Triage_Agent"`.
|
||||
For example, a type-based subscription maps topic type `"github_issues"`
|
||||
to agent type `"triage_agent"`.
|
||||
When a broadcast message is published to the topic
|
||||
`("GitHub_Issues", "github.com/microsoft/autogen/issues/99"),
|
||||
the subscription maps the topic to an agent instance with ID
|
||||
`("Triage_Agent", "github.com/microsoft/autogen/issues/99")`,
|
||||
`("gitHub_issues", "github.com/microsoft/autogen/issues/1")`,
|
||||
a subscription will be created to map the topic to an agent instance with ID
|
||||
`("triage_agent", "github.com/microsoft/autogen/issues/1")`,
|
||||
and the runtime will deliver the message to that agent, creating it
|
||||
if not exist.
|
||||
|
||||

|
||||
|
||||
Generally speaking, type-based subscription is the preferred way to delcare
|
||||
subscriptions. It is portable and data-independent:
|
||||
developers do not need to write application code that depends on specific agent IDs.
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 221 KiB |
Reference in New Issue
Block a user