<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17">
  <diagram name="flow" id="uL73W-lj93WwKyVfi338">
    <mxGraphModel dx="2145" dy="1416" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1169" pageHeight="1654" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-81" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="-98" y="-174" width="1705" height="1196" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-22" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="765" y="500" width="772" height="458" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-20" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="864" y="135" width="553" height="346" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-15" value="" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="964" y="181" width="190" height="126" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-10" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="792" y="724" width="309" height="202" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-5" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1157" y="667" width="302" height="261" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-1" value="{&lt;br&gt;data_point_hash_1 : {&lt;br&gt;field_1 : some_value_1,&lt;br&gt;...&lt;br&gt;field_m : another_value_1&lt;br&gt;&lt;br&gt;},&lt;br&gt;...&lt;br&gt;data_point_hash_n : {&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;field_1 : some_value_n,&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;...&lt;br style=&quot;border-color: var(--border-color);&quot;&gt;field_m : another_value_n}&lt;br&gt;}" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1196" y="703" width="231" height="225" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-2" value="{&lt;br&gt;embedded_text_hash_1 : embedding_1,&lt;br&gt;...&lt;br&gt;embedded_text_hash_n : embedding_n&lt;br&gt;}" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="822" y="762" width="244" height="143" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-3" value="DATA" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="1281.5" y="698" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-4" value="EMBEDDINGS&lt;br&gt;STORE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="901" y="762" width="86" height="36" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-6" value="insert values" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="129" y="245" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-7" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=-0.008;entryY=0.463;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-6" target="iSVjwkVqsMs2VOfXNG-q-9" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="194" y="269" as="sourcePoint" />
            <mxPoint x="388" y="258" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-8" value="establish connection" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="454" y="-74" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-9" value="mocker-db" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" parent="1" vertex="1">
          <mxGeometry x="433" y="220" width="154" height="115" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-11" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1162" y="217" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-12" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1254" y="217" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-13" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1209" y="316" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-14" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1031.5" y="207" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-16" value="" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="1003" y="307" width="190" height="126" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-17" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="1074" y="339" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-19" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.487;exitY=0.002;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-22" target="iSVjwkVqsMs2VOfXNG-q-20" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="1184" y="594" as="sourcePoint" />
            <mxPoint x="1171" y="515" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-23" value="persist locations&lt;br&gt;&lt;br&gt;*(support for remote persist locations is on the way)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="874" y="174" width="98" height="33" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-24" value="Three types of persisted data can be access by the mocker:&lt;br&gt;Data - storing what was inputted + embedding + classifiers&lt;br&gt;Embedding store - caching embeddings&lt;div&gt;Classifiers store - caching llm classifiers, acquired as a result of llm filter usage&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="1196" y="527" width="238" height="103" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-25" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0.517;entryY=0.013;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-8" target="iSVjwkVqsMs2VOfXNG-q-9" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="309" y="112" as="sourcePoint" />
            <mxPoint x="506" y="111" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-26" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0.005;entryY=0.399;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.452;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-9" target="iSVjwkVqsMs2VOfXNG-q-20" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="580" y="269" as="sourcePoint" />
            <mxPoint x="984" y="275" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-27" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.448;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-20" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="744" y="385" as="sourcePoint" />
            <mxPoint x="589" y="289" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-28" value="establish_connection" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="688" y="249" width="117" height="31" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-29" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.87;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#dae8fc;strokeColor=#6c8ebf;entryX=0.002;entryY=0.538;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-9" target="iSVjwkVqsMs2VOfXNG-q-20" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="778.924" y="358.99999999999994" as="sourcePoint" />
            <mxPoint x="686" y="470.95" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-30" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.452;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="587" y="305.5" as="sourcePoint" />
            <mxPoint x="864" y="306" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-31" value="save_data" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="682" y="283" width="117" height="31" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-32" value="Embedder" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
          <mxGeometry x="363" y="131" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-33" value="Similarity Search Handler" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
          <mxGeometry x="542.5" y="129" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-34" value="" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="340" y="669" width="360" height="289" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-35" value="mocker-db" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;" parent="1" vertex="1">
          <mxGeometry x="452" y="751.04" width="154" height="115" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-36" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="616" y="228" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-37" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="391" y="684.04" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-38" value="" style="curved=1;endArrow=classic;html=1;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;exitX=0.775;exitY=0.994;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-83" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="553" y="493" as="sourcePoint" />
            <mxPoint x="551.9997017268448" y="754.04" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-40" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;exitX=0.288;exitY=0.994;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#dae8fc;strokeColor=#6c8ebf;entryX=0.273;entryY=-0.009;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-83" target="iSVjwkVqsMs2VOfXNG-q-35" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="494.058" y="490.03999999999996" as="sourcePoint" />
            <mxPoint x="947" y="600.04" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-41" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0.377;entryY=0.009;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.423;exitY=0.975;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;exitPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-83" target="iSVjwkVqsMs2VOfXNG-q-35" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="508.9960000000001" y="489.0050000000001" as="sourcePoint" />
            <mxPoint x="906" y="649.04" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-42" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;fillColor=#d5e8d4;strokeColor=#82b366;entryX=0.625;entryY=1;entryDx=0;entryDy=0;" parent="1" target="iSVjwkVqsMs2VOfXNG-q-83" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="536" y="751.04" as="sourcePoint" />
            <mxPoint x="536" y="490.03999999999996" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-43" value="/search" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="561" y="612.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-44" value="/insert" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="419" y="567.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-45" value="/initialize" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="419" y="509.03999999999996" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-46" value="/embed" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="559" y="546.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-47" value="/delete" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="419" y="537.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-48" value="/active_handlers" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="405" y="593.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-49" value="/remove_handlers" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="405" y="623.04" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-51" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=8;" parent="1" vertex="1">
          <mxGeometry x="546" y="245" width="37" height="25" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-52" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=8;" parent="1" vertex="1">
          <mxGeometry x="457" y="245" width="37" height="25" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-53" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.227;entryY=0.053;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-32" target="vUyvmiQPVuYUyWJHTBPi-5" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="161" y="60" as="sourcePoint" />
            <mxPoint x="211" y="10" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-54" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-51" target="iSVjwkVqsMs2VOfXNG-q-33" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="618" y="51" as="sourcePoint" />
            <mxPoint x="668" y="1" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-55" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="-11" y="-10" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-56" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="-11" y="45" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-57" value="&lt;h1&gt;MockerDB&lt;/h1&gt;&lt;p&gt;Mocker vector database implemented in python, for research and development.&lt;br&gt;&lt;/p&gt;&lt;p&gt;*(map shows existing and upcoming features)&lt;/p&gt;" style="text;html=1;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="-17" y="-167" width="228" height="132" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-59" value="Locally as python package" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="44" y="-6" width="111" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-60" value="Connected to MockerDB API though the package&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="42" y="45" width="111" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-61" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="-11" y="100" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-63" value="MockerDB API accessed though exposed endpoints" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="42" y="100" width="111" height="30" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-64" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" parent="1" vertex="1">
          <mxGeometry x="417" y="860" width="37" height="37" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-65" value="host" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="1" vertex="1">
          <mxGeometry x="194" y="906" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-66" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;entryX=0;entryY=0.513;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#99CCFF;fillColor=#B9E0A5;exitX=0.995;exitY=0.61;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-65" target="iSVjwkVqsMs2VOfXNG-q-35" edge="1">
          <mxGeometry width="100" height="100" relative="1" as="geometry">
            <mxPoint x="325" y="931.04" as="sourcePoint" />
            <mxPoint x="609" y="986.04" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-67" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="530" y="297" width="53" height="35" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-68" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=4;" parent="1" vertex="1">
          <mxGeometry x="542.5" y="301.5" width="28" height="26" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-69" value="search database" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="196" y="477" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-70" value="" style="curved=1;endArrow=classic;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;fillColor=#d5e8d4;strokeColor=#82b366;entryX=0;entryY=0;entryDx=10;entryDy=105;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-69" target="iSVjwkVqsMs2VOfXNG-q-9" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="313" y="322" as="sourcePoint" />
            <mxPoint x="312" y="557" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-71" value="remove from detabase" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="151" y="327.5" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-72" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.617;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-71" target="iSVjwkVqsMs2VOfXNG-q-9" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="274" y="337" as="sourcePoint" />
            <mxPoint x="457" y="335" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-73" value="flush database" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="179" y="402" width="120" height="60" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-74" value="" style="curved=1;endArrow=classic;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=95;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-73" target="iSVjwkVqsMs2VOfXNG-q-9" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="281" y="368" as="sourcePoint" />
            <mxPoint x="445" y="308" as="targetPoint" />
            <Array as="points" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-75" value="Embedder module to make embeddings. By default uses open source embeddings from sentence transformers." style="rounded=1;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="263" y="19" width="145" height="89" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-76" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.938;entryY=0.978;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-32" target="iSVjwkVqsMs2VOfXNG-q-75" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="221" y="169" as="sourcePoint" />
            <mxPoint x="271" y="119" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-77" value="Module that implements similarity search algorithms." style="rounded=1;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="637" y="21" width="145" height="89" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-80" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0.037;entryY=0.966;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-33" target="iSVjwkVqsMs2VOfXNG-q-77" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="583" y="96" as="sourcePoint" />
            <mxPoint x="559" y="71" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-83" value="MockerDB &lt;br&gt;Connector" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
          <mxGeometry x="463" y="359" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-84" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=8;" parent="1" vertex="1">
          <mxGeometry x="460" y="305" width="37" height="25" as="geometry" />
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-85" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-83" target="iSVjwkVqsMs2VOfXNG-q-84" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="586" y="406" as="sourcePoint" />
            <mxPoint x="606" y="357" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-86" value="" style="endArrow=none;dashed=1;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="iSVjwkVqsMs2VOfXNG-q-83" target="iSVjwkVqsMs2VOfXNG-q-87" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="606" y="396" as="sourcePoint" />
            <mxPoint x="645" y="374" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="iSVjwkVqsMs2VOfXNG-q-87" value="Module that includes logic of connecting to remote MockerDB and performing request calls." style="rounded=1;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="662.5" y="354.5" width="145" height="89" as="geometry" />
        </mxCell>
        <mxCell id="vUyvmiQPVuYUyWJHTBPi-1" value="LLM Connector" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;" parent="1" vertex="1">
          <mxGeometry x="236" y="148" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="vUyvmiQPVuYUyWJHTBPi-2" value="Module that sends requests to LLM API to find data related to a query in the database" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;" parent="1" vertex="1">
          <mxGeometry x="44" y="148" width="145" height="89" as="geometry" />
        </mxCell>
        <mxCell id="vUyvmiQPVuYUyWJHTBPi-4" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="vUyvmiQPVuYUyWJHTBPi-2" target="vUyvmiQPVuYUyWJHTBPi-1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="145" y="223" as="sourcePoint" />
            <mxPoint x="195" y="173" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="vUyvmiQPVuYUyWJHTBPi-5" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=8;" parent="1" vertex="1">
          <mxGeometry x="501.5" y="245" width="37" height="25" as="geometry" />
        </mxCell>
        <mxCell id="vUyvmiQPVuYUyWJHTBPi-6" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.832;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="vUyvmiQPVuYUyWJHTBPi-1" target="iSVjwkVqsMs2VOfXNG-q-52" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="363" y="220" as="sourcePoint" />
            <mxPoint x="397" y="267" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="IM0dO_qR7CJU0af32eAD-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
          <mxGeometry x="792" y="516" width="309" height="202" as="geometry" />
        </mxCell>
        <mxCell id="IM0dO_qR7CJU0af32eAD-2" value="{&lt;br&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;text_1 : {1 : [cat_1, ..., cat_m],&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;0 : [cat_1, ..., cat_m],&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;},&lt;/span&gt;&lt;div&gt;...&lt;br&gt;text_n:&amp;nbsp;&lt;span style=&quot;background-color: initial;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;1 : [cat_1, ..., cat_m],&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;background-color: initial; white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;0 : [cat_1, ..., cat_m],&lt;/span&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;}&lt;/div&gt;&lt;/div&gt;" style="ellipse;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="814" y="554" width="260" height="159" as="geometry" />
        </mxCell>
        <mxCell id="IM0dO_qR7CJU0af32eAD-3" value="CLASSIFIERS&lt;br&gt;STORE" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="901" y="556" width="86" height="36" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
