File size: 21,468 Bytes
4a940f7 | 1 | <svg id="mermaid-svg" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 1398.3828125px;" viewBox="0 0 1398.3828125 660.4264526367188" role="graphics-document document" aria-roledescription="flowchart-v2" xmlns:xlink="http://www.w3.org/1999/xlink"><style xmlns="http://www.w3.org/1999/xhtml">@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");</style><style>#mermaid-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg .error-icon{fill:#552222;}#mermaid-svg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg .edge-thickness-normal{stroke-width:1px;}#mermaid-svg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg .marker{fill:#333333;stroke:#333333;}#mermaid-svg .marker.cross{stroke:#333333;}#mermaid-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg p{margin:0;}#mermaid-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg .cluster-label text{fill:#333;}#mermaid-svg .cluster-label span{color:#333;}#mermaid-svg .cluster-label span p{background-color:transparent;}#mermaid-svg .label text,#mermaid-svg span{fill:#333;color:#333;}#mermaid-svg .node rect,#mermaid-svg .node circle,#mermaid-svg .node ellipse,#mermaid-svg .node polygon,#mermaid-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg .rough-node .label text,#mermaid-svg .node .label text,#mermaid-svg .image-shape .label,#mermaid-svg .icon-shape .label{text-anchor:middle;}#mermaid-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg .rough-node .label,#mermaid-svg .node .label,#mermaid-svg .image-shape .label,#mermaid-svg .icon-shape .label{text-align:center;}#mermaid-svg .node.clickable{cursor:pointer;}#mermaid-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg .arrowheadPath{fill:#333333;}#mermaid-svg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg .cluster text{fill:#333;}#mermaid-svg .cluster span{color:#333;}#mermaid-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg rect.text{fill:none;stroke-width:0;}#mermaid-svg .icon-shape,#mermaid-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg .icon-shape p,#mermaid-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg .icon-shape rect,#mermaid-svg .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="mermaid-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="mermaid-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"><g class="cluster " id="REM" data-look="classic"><rect style="" x="8" y="363" width="514.796875" height="104"/><g class="cluster-label " transform="translate(217.828125, 363)"><foreignObject width="95.140625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Remote Tiers</p></span></div></foreignObject></g></g><g class="cluster " id="LAN" data-look="classic"><rect style="" x="60.296875" y="161" width="472.3984375" height="128"/><g class="cluster-label " transform="translate(218.83203125, 161)"><foreignObject width="155.328125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Local Network Tier T1</p></span></div></foreignObject></g></g><g class="cluster " id="DEV" data-look="classic"><rect style="" x="584.09765625" y="8" width="806.28515625" height="644.4264755249023"/><g class="cluster-label " transform="translate(922.474609375, 8)"><foreignObject width="129.53125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>On-Device Tier T0</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M1008.348,77.621L1058.479,85.351C1108.609,93.081,1208.871,108.54,1259.002,122.437C1309.133,136.333,1309.133,148.667,1309.133,165.5C1309.133,182.333,1309.133,203.667,1309.133,225C1309.133,246.333,1309.133,267.667,1309.133,284.5C1309.133,301.333,1309.133,313.667,1309.133,326C1309.133,338.333,1309.133,350.667,1309.133,365.5C1309.133,380.333,1309.133,397.667,1309.133,415C1309.133,432.333,1309.133,449.667,1309.133,462.5C1309.133,475.333,1309.133,483.667,1303.201,492.838C1297.269,502.008,1285.405,512.017,1279.472,517.021L1273.54,522.025" id="L_P1_DATA_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P1_DATA_0" data-points="W3sieCI6MTAwOC4zNDc2NTYyNSwieSI6NzcuNjIxMjc2NzE1ODg2OTV9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjoxMjR9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjoxNjF9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjoyMjV9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjoyODl9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjozMjZ9LHsieCI6MTMwOS4xMzI4MTI1LCJ5IjozNjN9LHsieCI6MTMwOS4xMzI4MTI1LCJ5Ijo0MTV9LHsieCI6MTMwOS4xMzI4MTI1LCJ5Ijo0Njd9LHsieCI6MTMwOS4xMzI4MTI1LCJ5Ijo0OTJ9LHsieCI6MTI3My41NDA0MjcxNDgyODM3LCJ5Ijo1MjIuMDI1MDczMzU2MDk2MX1d"/><path d="M1106.188,442L1106.188,446.167C1106.188,450.333,1106.188,458.667,1106.188,467C1106.188,475.333,1106.188,483.667,1110.797,492.467C1115.407,501.267,1124.627,510.534,1129.237,515.167L1133.847,519.8" id="L_P2_DATA_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P2_DATA_0" data-points="W3sieCI6MTEwNi4xODc1LCJ5Ijo0NDJ9LHsieCI6MTEwNi4xODc1LCJ5Ijo0Njd9LHsieCI6MTEwNi4xODc1LCJ5Ijo0OTJ9LHsieCI6MTEzMy44NDY5Mjg4NjI4NTc2LCJ5Ijo1MTkuODAwNDE3NDY2MDk2OX1d"/><path d="M875.588,87L871.368,93.167C867.147,99.333,858.706,111.667,854.486,124C850.266,136.333,850.266,148.667,783.71,162.82C717.155,176.974,584.044,192.948,517.488,200.935L450.932,208.923" id="L_P1_HUB_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P1_HUB_0" data-points="W3sieCI6ODc1LjU4Nzk1MTY2MDE1NjIsInkiOjg3fSx7IngiOjg1MC4yNjU2MjUsInkiOjEyNH0seyJ4Ijo4NTAuMjY1NjI1LCJ5IjoxNjF9LHsieCI6NDQ2Ljk2MDkzNzUsInkiOjIwOS4zOTkxNjIwNjQzNjg2OH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M1064.276,388L1057.808,383.833C1051.34,379.667,1038.404,371.333,1031.937,361C1025.469,350.667,1025.469,338.333,926.257,326C827.044,313.667,628.62,301.333,522.616,291.328C416.612,281.323,403.029,273.645,396.237,269.807L389.445,265.968" id="L_P2_HUB_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P2_HUB_0" data-points="W3sieCI6MTA2NC4yNzU4NDEzNDYxNTM4LCJ5IjozODh9LHsieCI6MTAyNS40Njg3NSwieSI6MzYzfSx7IngiOjEwMjUuNDY4NzUsInkiOjMyNn0seyJ4Ijo0MzAuMTk1MzEyNSwieSI6Mjg5fSx7IngiOjM4NS45NjMxMzQ3NjU2MjUsInkiOjI2NH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M446.961,202.626L487.272,195.689C527.583,188.751,608.206,174.875,648.517,161.771C688.828,148.667,688.828,136.333,707.967,124.198C727.106,112.064,765.385,100.127,784.524,94.159L803.663,88.191" id="L_HUB_P1_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_HUB_P1_0" data-points="W3sieCI6NDQ2Ljk2MDkzNzUsInkiOjIwMi42MjY0MjA3MjMxMjQ0M30seyJ4Ijo2ODguODI4MTI1LCJ5IjoxNjF9LHsieCI6Njg4LjgyODEyNSwieSI6MTI0fSx7IngiOjgwNy40ODE1MDYzNDc2NTYyLCJ5Ijo4N31d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M398.151,264L406.825,268.167C415.499,272.333,432.847,280.667,564.306,291C695.766,301.333,941.336,313.667,1064.121,326C1186.906,338.333,1186.906,350.667,1180.999,360.639C1175.091,370.611,1163.277,378.222,1157.369,382.028L1151.462,385.834" id="L_HUB_P2_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_HUB_P2_0" data-points="W3sieCI6Mzk4LjE1MDYzNDc2NTYyNSwieSI6MjY0fSx7IngiOjQ1MC4xOTUzMTI1LCJ5IjoyODl9LHsieCI6MTE4Ni45MDYyNSwieSI6MzI2fSx7IngiOjExODYuOTA2MjUsInkiOjM2M30seyJ4IjoxMTQ4LjA5OTE1ODY1Mzg0NjIsInkiOjM4OH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M912.545,87L916.765,93.167C920.986,99.333,929.426,111.667,933.647,124C937.867,136.333,937.867,148.667,937.867,165.5C937.867,182.333,937.867,203.667,937.867,225C937.867,246.333,937.867,267.667,937.867,284.5C937.867,301.333,937.867,313.667,937.867,326C937.867,338.333,937.867,350.667,863.519,364.021C789.171,377.375,640.475,391.751,566.126,398.939L491.778,406.126" id="L_P1_T3N_0" class=" edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P1_T3N_0" data-points="W3sieCI6OTEyLjU0NDg2MDgzOTg0MzgsInkiOjg3fSx7IngiOjkzNy44NjcxODc1LCJ5IjoxMjR9LHsieCI6OTM3Ljg2NzE4NzUsInkiOjE2MX0seyJ4Ijo5MzcuODY3MTg3NSwieSI6MjI1fSx7IngiOjkzNy44NjcxODc1LCJ5IjoyODl9LHsieCI6OTM3Ljg2NzE4NzUsInkiOjMyNn0seyJ4Ijo5MzcuODY3MTg3NSwieSI6MzYzfSx7IngiOjQ4Ny43OTY4NzUsInkiOjQwNi41MTEzMjkzMDUxMzZ9XQ==" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M216.8,264L206.099,268.167C195.398,272.333,173.996,280.667,163.295,291C152.594,301.333,152.594,313.667,152.594,326C152.594,338.333,152.594,350.667,152.594,360.333C152.594,370,152.594,377,152.594,380.5L152.594,384" id="L_HUB_T2N_0" class=" edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_HUB_T2N_0" data-points="W3sieCI6MjE2Ljc5OTY4MjYxNzE4NzUsInkiOjI2NH0seyJ4IjoxNTIuNTkzNzUsInkiOjI4OX0seyJ4IjoxNTIuNTkzNzUsInkiOjMyNn0seyJ4IjoxNTIuNTkzNzUsInkiOjM2M30seyJ4IjoxNTIuNTkzNzUsInkiOjM4OH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/><path d="M367.558,264L372.964,268.167C378.369,272.333,389.181,280.667,394.587,291C399.992,301.333,399.992,313.667,399.992,326C399.992,338.333,399.992,350.667,399.992,360.333C399.992,370,399.992,377,399.992,380.5L399.992,384" id="L_HUB_T3N_0" class=" edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_HUB_T3N_0" data-points="W3sieCI6MzY3LjU1ODEwNTQ2ODc1LCJ5IjoyNjR9LHsieCI6Mzk5Ljk5MjE4NzUsInkiOjI4OX0seyJ4IjozOTkuOTkyMTg3NSwieSI6MzI2fSx7IngiOjM5OS45OTIxODc1LCJ5IjozNjN9LHsieCI6Mzk5Ljk5MjE4NzUsInkiOjM4OH1d" marker-end="url(#mermaid-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_P1_DATA_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_P2_DATA_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(850.265625, 124)"><g class="label" data-id="L_P1_HUB_0" transform="translate(-67.6015625, -12)"><foreignObject width="135.203125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>adapter deltas only</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1025.46875, 326)"><g class="label" data-id="L_P2_HUB_0" transform="translate(-67.6015625, -12)"><foreignObject width="135.203125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>adapter deltas only</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(688.828125, 124)"><g class="label" data-id="L_HUB_P1_0" transform="translate(-73.8359375, -12)"><foreignObject width="147.671875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>aggregated adapters</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1186.90625, 326)"><g class="label" data-id="L_HUB_P2_0" transform="translate(-73.8359375, -12)"><foreignObject width="147.671875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>aggregated adapters</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(937.8671875, 225)"><g class="label" data-id="L_P1_T3N_0" transform="translate(-100, -24)"><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="edgeLabel "><p>policy-gated, redacted requests</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(152.59375, 326)"><g class="label" data-id="L_HUB_T2N_0" transform="translate(-69.3828125, -12)"><foreignObject width="138.765625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>escalated inference</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(399.9921875, 326)"><g class="label" data-id="L_HUB_T3N_0" transform="translate(-78.71875, -12)"><foreignObject width="157.4375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel "><p>policy-gated, redacted</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default " id="flowchart-P1-0" transform="translate(894.06640625, 60)"><rect class="basic label-container" style="" x="-114.28125" y="-27" width="228.5625" height="54"/><g class="label" style="" transform="translate(-84.28125, -12)"><rect/><foreignObject width="168.5625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Phone: SLM + adapters</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-P2-1" transform="translate(1106.1875, 415)"><rect class="basic label-container" style="" x="-115.6171875" y="-27" width="231.234375" height="54"/><g class="label" style="" transform="translate(-85.6171875, -12)"><rect/><foreignObject width="171.234375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>Laptop: SLM + adapters</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-DATA-2" transform="translate(1194.93359375, 572.2132377624512)"><path d="M0,15.808823529411764 a107.5,15.808823529411764 0,0,0 215,0 a107.5,15.808823529411764 0,0,0 -215,0 l0,78.80882352941177 a107.5,15.808823529411764 0,0,0 215,0 l0,-78.80882352941177" class="basic label-container" style="" label-offset-y="15.808823529411764" transform="translate(-107.5, -55.21323529411765)"/><g class="label" style="" transform="translate(-100, -14)"><rect/><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel "><p>Raw user data - never leaves tier</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-HUB-7" transform="translate(316.9609375, 225)"><rect class="basic label-container" style="" x="-130" y="-39" width="260" height="78"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel "><p>LAN Model Server + Adapter Aggregator</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-T2N-8" transform="translate(152.59375, 415)"><rect class="basic label-container" style="" x="-109.59375" y="-27" width="219.1875" height="54"/><g class="label" style="" transform="translate(-79.59375, -12)"><rect/><foreignObject width="159.1875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>T2: Self-Hosted Model</p></span></div></foreignObject></g></g><g class="node default " id="flowchart-T3N-9" transform="translate(399.9921875, 415)"><rect class="basic label-container" style="" x="-87.8046875" y="-27" width="175.609375" height="54"/><g class="label" style="" transform="translate(-57.8046875, -12)"><rect/><foreignObject width="115.609375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel "><p>T3: External API</p></span></div></foreignObject></g></g></g></g></g></svg> |