<mxfile host="Electron" modified="2023-04-15T15:57:13.036Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.1.2 Chrome/106.0.5249.199 Electron/21.4.3 Safari/537.36" etag="jJYWFIsGsznwxyvjlZY2" version="21.1.2" type="device">
  <diagram name="第 1 页" id="rqcHV4mfdv5foTqNJHd0">
    <mxGraphModel dx="1098" dy="838" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="iKBd2mOtjkZElYeO3geY-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;sketch=1;curveFitting=1;jiggle=2;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-2" target="iKBd2mOtjkZElYeO3geY-5">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-20" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;rounded=0;shape=flexArrow;dashed=1;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-2" target="iKBd2mOtjkZElYeO3geY-19">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-2" value="&lt;b&gt;&lt;font style=&quot;font-size: 19px;&quot;&gt;接入层&lt;/font&gt;&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=default;sketch=1;curveFitting=1;jiggle=2;glass=0;shadow=0;" vertex="1" parent="1">
          <mxGeometry x="280" y="240" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.167;entryY=0.025;entryDx=0;entryDy=0;entryPerimeter=0;sketch=1;curveFitting=1;jiggle=2;startArrow=block;startFill=1;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-3" target="iKBd2mOtjkZElYeO3geY-6">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shape=flexArrow;dashed=1;fillColor=none;strokeColor=#373e39;gradientColor=none;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-3" target="iKBd2mOtjkZElYeO3geY-24">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="680" y="460" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-3" value="插件层" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;sketch=1;curveFitting=1;jiggle=2;fontSize=15;fontStyle=1" vertex="1" parent="1">
          <mxGeometry x="280" y="440" width="160" height="40" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-4" value="&lt;font style=&quot;font-size: 19px;&quot;&gt;微&lt;br style=&quot;font-size: 19px;&quot;&gt;信&lt;br style=&quot;font-size: 19px;&quot;&gt;ai&lt;br style=&quot;font-size: 19px;&quot;&gt;个&lt;br style=&quot;font-size: 19px;&quot;&gt;人&lt;br style=&quot;font-size: 19px;&quot;&gt;助&lt;br style=&quot;font-size: 19px;&quot;&gt;理&lt;br style=&quot;font-size: 19px;&quot;&gt;系&lt;br style=&quot;font-size: 19px;&quot;&gt;统&lt;br style=&quot;font-size: 19px;&quot;&gt;架&lt;br style=&quot;font-size: 19px;&quot;&gt;构&lt;br style=&quot;font-size: 19px;&quot;&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;rounded=0;glass=0;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=19;" vertex="1" parent="1">
          <mxGeometry x="170" y="330" width="40" height="260" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;sketch=1;curveFitting=1;jiggle=2;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-5" target="iKBd2mOtjkZElYeO3geY-6">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.375;entryY=0.025;entryDx=0;entryDy=0;entryPerimeter=0;sketch=1;curveFitting=1;jiggle=2;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-5" target="iKBd2mOtjkZElYeO3geY-3">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-5" value="会话控制与系统设置层" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;gradientColor=none;glass=0;sketch=1;curveFitting=1;jiggle=2;fontSize=15;fontStyle=1;labelBackgroundColor=none;" vertex="1" parent="1">
          <mxGeometry x="280" y="360" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;sketch=1;curveFitting=1;jiggle=2;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-6" target="iKBd2mOtjkZElYeO3geY-7">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-6" target="iKBd2mOtjkZElYeO3geY-29">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="600" y="540" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-6" value="Langchain 抽象层" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;sketch=1;curveFitting=1;jiggle=2;fontSize=15;fontStyle=1" vertex="1" parent="1">
          <mxGeometry x="280" y="520" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;dashed=1;shape=flexArrow;" edge="1" parent="1" source="iKBd2mOtjkZElYeO3geY-7" target="iKBd2mOtjkZElYeO3geY-27">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="680" y="660" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-7" value="LLM api" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;sketch=1;curveFitting=1;jiggle=2;fontSize=15;fontStyle=1" vertex="1" parent="1">
          <mxGeometry x="280" y="640" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-18" value="" style="endArrow=none;html=1;strokeWidth=2;rounded=0;" edge="1" parent="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="540" y="340" as="sourcePoint" />
            <mxPoint x="540" y="340" as="targetPoint" />
            <Array as="points">
              <mxPoint x="540" y="580" />
              <mxPoint x="260" y="580" />
              <mxPoint x="260" y="340" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-19" value="负责解析企业微信的请求&lt;br style=&quot;font-size: 13px;&quot;&gt;包括，多类型数据的转换工作，&lt;br style=&quot;font-size: 13px;&quot;&gt;工作在8887端口&lt;br style=&quot;font-size: 13px;&quot;&gt;&lt;br style=&quot;font-size: 13px;&quot;&gt;后续可能加入，其它客户端请求" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=13;" vertex="1" parent="1">
          <mxGeometry x="680" y="215" width="210" height="90" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-24" value="可自行开发的插件层，&lt;br&gt;用于提升llm的能力，&lt;br&gt;比如 时间，网络搜索，三方服务" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry x="680" y="430" width="190" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-27" value="第三方llm api &lt;br style=&quot;font-size: 14px;&quot;&gt;如 openai chatglm" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;" vertex="1" parent="1">
          <mxGeometry x="680" y="635" width="140" height="50" as="geometry" />
        </mxCell>
        <mxCell id="iKBd2mOtjkZElYeO3geY-29" value="golang sdk 开发中" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry x="560" y="525" width="120" height="30" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
