From 1f8744be76537051d874b6d554190e2aaa4d0727 Mon Sep 17 00:00:00 2001
From: James Briggs <james.briggs@hotmail.com>
Date: Thu, 1 Aug 2024 13:09:33 +0400
Subject: [PATCH] fix: testing

---
 docs/build/doctrees/environment.pickle      | Bin 13063 -> 14854 bytes
 docs/build/doctrees/index.doctree           | Bin 4500 -> 10271 bytes
 docs/build/doctrees/quickstart.doctree      | Bin 0 -> 12488 bytes
 docs/build/html/.buildinfo                  |   2 +-
 docs/build/html/_sources/index.rst.txt      |  11 +-
 docs/build/html/_sources/quickstart.rst.txt |  98 ++++++++++
 docs/build/html/genindex.html               |   4 +
 docs/build/html/index.html                  |  17 +-
 docs/build/html/objects.inv                 | Bin 255 -> 271 bytes
 docs/build/html/quickstart.html             | 187 ++++++++++++++++++++
 docs/build/html/search.html                 |   4 +
 docs/build/html/searchindex.js              |   2 +-
 12 files changed, 317 insertions(+), 8 deletions(-)
 create mode 100644 docs/build/doctrees/quickstart.doctree
 create mode 100644 docs/build/html/_sources/quickstart.rst.txt
 create mode 100644 docs/build/html/quickstart.html

diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index 3f6cbcf2da3368dbcb9f61567b26789cf90aac75..c366757386dc6f23238e705abd8b4c34da298789 100644
GIT binary patch
delta 6149
zcmZoqYb#-GV4eEgawDr3qk%?`P;o&<W?qF}YDI}&VrfZ!N`CT`9x*h*;?msQ#G=Y6
zsgwN~_cIzz=4aAmG~H~;<j%@BwTC0MpfoAIG&5yN#?;Au?DH9eC+l(Kh)wMg081q2
z=am#?CY6@t7fs2Sx_JY~4Ms-O&7E8ljEts}7jbJbnod5;t-!cq^E>X9ob`erHzemI
z78l2ZG^Xa2OzB|-^QZKPfaFs0ljCz!bCXhw;`57AQj4ba@FeCGWF#h~mSiR;=1l1k
zhp7VViZ9Mg&r2*RElQoz!<w5}k(z>}A|*8~u{5V7KEI$OGe56*O6`>T9%-2Nl>Fr4
zlA_GKbR;7>klc`;oE@K;TaaH=QamMgN)OoKAjg$d7Nllm=9Lsr>ET4OTm@z>Ts}S}
zwK%yb6Kr>UNn%lYYRQ!P9_GZH93-!TRL3XgWF{7;g51|5foV)yeo<~BD42>f@{3BQ
z^oYTflqVMDW#*-47N-^!<rhuq=#hfSWaee07G;*i!~Ix1rK3kOv9zQf6#wxBMXAN9
zMP;e+&;Tl)(%B;n(hE%okf^CBnNm9i;vkrKT4qjaUSe))d~RX^ND>@lFv;}Pywsw^
zlGG_3J#xr~!NlY9%Tm3H%8N3=N@S3gK*BjS1se0<0GCBkke-)clp3F#pHiBW8V?G>
zj>*$RmFjgf^m>?6^U9{QP07&DFv#j>WMF8Ul3|!()WecdlA8k(H_kB1ngkIy$uNZ}
zG0QNAF)a|HmVPin)eJQlQ$0fi#<a??hB0kAd)VvKQ%g!xD@s7t*mlBX>@w`3%pQ)S
z{CsdUOo5AKIAl0Nr8BfLv|&t_3|AP_EyEqg^n|;|s{<zH4QKh(!<oJraFzaWhXlY`
zfqt+c2+9bC85EKc3S)+4gu@g>!j(qBwMS>fz*NS<1>-W}>tUJ_;I=2iSxIomC1<3-
zwCng~n6^#HNX<wC)9G;48J%E(%#18Bot=>brgP!e<#{v049U+ZfH3Q)WK_aUsDdl4
zhKtp}-B6oR2hlSn0}*NsaD|O<Ruf!Hb4CkHOKV0OjM)dXriV9mvay7GJ;*=(?hYIb
zV30AfZA!+3jEP`+QpRKu-NOYgDN8a-a#E*c=z)c}!9t0pB^jV{(*P{S3l_^s%u6p#
zOi!JXp#~P^1B(`vCgo%nXQUQQ$$%(^2q)*)7gQEyre~B)$uI&b&zO=i6--Zq($h1h
z!kj)s6ULeeXU)o(4HKM`F&E0r>SknM$m(HaU;rDnAY&m^B4d#^GmN<y5>WMRQ!<ty
z64g>z@MJ9WW`HSOp0NUCP!Gh-rNyc7nRzLx6;nDuq8Y28E?o_!*JP{(i?7RA4@+Mg
zGB(1Pn=&>-nLS*fEIwI4N}qAk<o}Wm_0U|t1)hSp!dctkta%ypq53nnXY7D6cV_H@
zG52Kbg)#TRb?whM024fzaR|md+yP@9>ByQ?4=H4hW*mcwu7t}U?}Uk+fQy}kvrc84
zhDo2vFoiMC!fihXXPt-Zxd3NfgtF?VWL(O)4AXrj<0_1K4XR*D#`TOFFu|K}GjC<w
zh6&!uFa>A3yKo)%5bn93u>z*<0X(}rgnR6fe#T>%{F98QFy^z2=P>50jMp&cJHM<+
zlV3|qhCt)&J=`@PI<n?K0`eoA^{Epk_8F4s+NNZD$@mIOUf(jl!{mQt{LGp&IYLH3
z%Cv1t4}VT#NoobC8Z6CC1y$LxQ#3N{Cr^?wt^ZvzB@yh^KadjXZ^l0`_dmECg6RY$
z)r!o#l*%b!;VcG51_rSDEJj8Kh7OR9EGAH1VFu+D)3zyDEQ|~c5VfozaW<GZJBY^t
z<8kVNxLi<f#;=UuV54|JqI^)%EPfDA0L+`5Co2XjXtD%BVnSfCwkcV{Af5<}Cko<;
z!Fb{zo&=013F1k?c+!jv4Bm`jD`h}TIWSWe#AF3C<>0=P2WeCQX><X3Pl=I%K@+S*
znUR6P-J$3Jq|^h+slYX<!dN|=xrur41&QgYpgJ8C_U>}JvIdFXjL_iEQiF$=I)pWO
zqMRi2fvicB*UHIC*!S=ir{*T+m1HIt<(HO#N<X~}gRHd4kK`=D;h_O?o+ik7AQxzX
zc-k<Y4$Ku<x*%~-kb_;W53#6iN|pg!g&|0V5r}{^A+n4?Y!eUx6)**<g{HVHGe!o6
z`YdxKX$xd&OOS*Wh=6Lg2C;2G1XREl#I^$wPyu&P%7Pj10g~_p5l~q#5ZfC>Km~jl
z8R{9be33-_kPYyMdocjc3Pe^A1QLc>7mUmaK~@%uB-10BSWu9Ynvt4Q5T8_<moj;V
zf`(ZbSamxSsM(bj4suQeh=2-2g4j_Y0xA#<Q9k*bf~hG~C<Y<~F(DS269={&sw^HN
zGdV#~hFLAEeR92`B$%G9sL$9w`Lv=cWBcTfipmC1<q0556F~%2APK}y1`$w!6o~1Q
zU6kS^KxroxYyqS=%1VQ9Cht<xgw`rq=@21s(Ug?|GAI*7Ks986*x4WgDv$$W=Yj}m
zjOBsY`5*!+Pyk{Vf(WQU5r|z3BA@~#pfptvi=|SKOc{uPN|%G!6(9mCPzhpJfe5HT
zHHcjUBA^1bAa)&yfC_->ELf46)c~>&W?dsVeEJ#d!BN`;($fqgpc-31>{bu~^>7=q
z=5`PVl-W@G54p&lsw`x`bbw6igyq~Wkanm;CQB%5%l5D-Xs8>hYfkB5ODzMJ<bFNu
z1x5K;smUc%CI>1j^Y^e77bT};7EQ^J%y7tXnp~qSRqxcpk&>Sb>aY|~>7Sy}!wPA2
z^l%lHW+rDBmn0UIOqtLl5MPj3k`Z5$52`0Xil@|0(dgj>tJNziE}4>bjfsJwhYz6%
zB6^*PfuXcV0HzCM0LUPaZm^Cl>03+;3|Sy$S+_xIOOtxo%TkMqGxPJNZ2qb2%EYKW
z*<P)V1JZ-ZV4l2@SxJx=*8Gc4&QAfg0Vm&7latc`o7lz967a5bwj3MS&@T3(crdSY
zGMjn;J0CLxLzW=(<XH6>2%DdI@&R=zW{s?Clkcb-3YzwCBxhviq!gv*O^Kb7rNTT}
zPQ#i>oq2M!Mr6GzGXq0u64=-*HD(3|%|@^{G?^I~GEB3ym>C#ir)23eGcfdU1tP+(
zbqYvXmJ!Hi2WAF_;-thZV`c`1+9?`YrVu^m5XurlSwkpWFjbmm57G#-I=M8dw1+Dv
zKQA5JMh5kSAwJGh2PpvuA;^N#9+r~)WF%=7kdwHRN^^2jOX71fi%X_Vo`TiwD$JAl
zHN`pM9-6GLX<`oNfxQPdi?b*-Ewv~$FF6&LNxICFXK8BIgFT&0vZs4EGV@AOi}Dh4
zrgZeM6{V(?7G**c7*}Fmaz=g;I0a^yLPIAJ<bSYTao{L|1#mqHAshoYBLZwjRuHZj
zjs^uMdr5wBNl_|N06^m(8eHI5tFHkWN_=EP5(zjXv8RFtjKB>7Ka{N4HYKr#Co?ZO
zr!*xMG|~WSGGui!GcY9faO5Udq@)&<WK8j9>S0e#ESRjRox|4;@=gy+PG(-}6mP-F
zi?!n*(NYN#Cnqfif;<HdZAeI^lA4_B8M4CQW&~5>3|MZ&8CT)hBC#HnPh+vkfFzP|
zN#M=dTS-Xd^^mNMJ(Yv9aSwr1zKPs0gCz2LP~fj8*9=6|ts&D0oh(oi0+nX`CHcwm
zd8N7Wu+$DJ6hZ0Vn-N^hdNY<zexYMy2oj2&0!ik@Jp$l#52{LvQj<zEb5f?%Lgf0V
zKnlbO#giR$tC)<KC-2d9XPhyaMK7H->mCyW!{l5&IcYG<o1wIaBRR7q5j5xtF2=#~
z3-ojuUr#=#rzrK7nSlXbOoCFoU)D!v1_r;ZPm?+IO@zOI*<Zor3^4g^a)7>CeGe<B
zXaW_!aBH9yD#&XfJG>cs;F%jF2K5^#-eaefmi91ZfplwR{RP(%J?xO-JdhaNM3&sd
zk_@n;p^A7j5{u(g3riF0LEZtWg#<(=I21ce;X0WLDv|VMDYAg-A-F6vs3Hfs31Tcl
zyto7u#u`1`1x5Mkh=F358`*LalTvd))(UI%aHOZ^ftv+WvdmaOHRI$^15M5zHppoD
zl*!EohJvP9mMq}<Gs~KVfg#I=W%5x21u-|Uatx{82FjC{8t^lkPF6M4vIUt5HMng`
qmIFw;BUoSClq`?|U;@;r%JK%u`9S3$K`^<~(3>fOW%D&dLq-5W9i=7!

delta 4348
zcmZoGX-{KqV4eEMXd|l^<K%kA{fq{a?U^(gjW=g9xwG<3?%_x+C{2nl%}kk+F?sSn
z_W6u~ljAsY#3uI$fF+Xi^Gb>`lS)hSi>72u-u!^$1|y^K=AB#;jEu&UFL7%z8c+Vq
zt-!c!vmDP#&dGcdiuKwVIz7y(d1X`Drex@5=w;<GGBC7F$<WU*=wZny$;|<Y8)g_}
z6+*;~GK^tLOfpPiOf!V2xgShWIYR};RLxL>F)cDIVN9#e9`^e5)RL0aiV~1D)}1gJ
zn+#hhvxlQ7KffeCB|muzTr9&b!yYP~p^>2pV>)Fx!<a4^t}v!M+&vy0FfmU!%c~yF
z^v>{s$@{_`;s<B>`@w=BAR`c_FeoD!#tg{_g((P!D~*6_kIaaIsf>mT#$?3S!!*Ug
z-5C#OCBPk*n2`k2uH~0u+%_d6IU@y3r@~dIb%F)bGcv$*W=0m6&W2l;<IM;&BsU`u
z!mOW?Q4Tku0<N?YE>;D1Lv=<CM9-9rTDV{xTwy(&)c}`m%xHpXY0hYYF?(Rv^zf!K
z7nCMVKCdEO4|Z#>y8{OU7-aOfP08rX=m*miGA4rP9xiYiFUc&)Nu83R0~X>23niA8
zWPnn<9$1VQES8g)mtLBfo;oE%1uV)37A+`E%E>IwNG+O@0Z|MQPOi@{s4U7%&nTIa
zVE|H|F)3p*n4SWqr)Ersxqliw$xVl|W@OBSNzcld4P|C!F)}b@Wiv7`fQ_1$F&`?C
zvA~-d##{&vElp6STZBkii(z4uvBaAJrgUk>vW))8@1;e}L7}q(>avwkdR4}1ur+Hk
z*1{6ix{UQO=7x-oS%s6WWvmzrCzr`M)I;<0CU{!i3}<bDv*u*Xh3Vg#u?@!Dp0NYQ
z+?BB##@qwfwKroQOmKh30T}aO2aI*7Bdf3;Qk)#lI06%04wpaL2@^X87dsAToya%|
zlRlMU3}c>#+kOVlIt$lx4$e9cWz|o~xR7xXru$OHWf=1cRKb*ts~Oi|g4f|@-pIHK
z6TFpS3{JGS;X3Xh+;cZ$8BE<hc*eL7_t=B_jE6A!M;VV{%qJO7Vayj9FJa6#Fxz|h
za}!H4vJxwd;*<09(lXPhz+^Js!ddS+vZ^70`yS5v&<PX!2u^JbZL(7`K4pA{C9E$Q
zUttQqWqi-7o_t<Tfzf#K2RR8w+sT~rru9EdrX+$r`wLR~{Lc6T=KckjIX(P2i6yBO
z@ukJ7@fDeQDV0;e!WsV{ivM?j)Mhb&G6N$hGZ?o`$zoz;U;wMiVg`w`z{FWWJT@4Q
z9mL~ctY=^V8IkcL<0pvD;sy!xz!dR<czjS^4<E!WDf!9CIf=!^Q);JxweW)!2|yKP
z34(Y+FrF}oCj#S%f_P#uo;ZkCF9G99GBPlDGlET&0x{*lOlc6470i@jWMF{!R~DpG
z4yI9ok%2)ItU{5Ifx+FO=m4ag1BHbWT#qu0)x(*am=|A=n4VfZC3Xt4MuzR=BMQ2*
zdWqhQ(5T2#frp?fgf*E@QIdIIR^enVMOg{k9=_t#+{C<+%;ci{(h^XCr<0+V<vKZD
z(Xt+7sT#<6>M-YNfOwiPo)*j*S=u0R9hkT-#G<w-S$c34`XChsAOg~K$T9@6jX(rc
zz!;<!n$)sP7#SGqvrLhs&5)(dK@t`q0;<^(#I^zvPyuTY+Xh5H1zZ^!7+_f}%MB#q
z4kDnk9w4?Sh=2-sF*0N^WO*Zr_#hkL3-_WQoaK+KAOIu`^GzT!CkR<tFhpjOvaMMN
zSUimh)Ue751z8*hBA^1{Aa(?ZfC@xHlus^JHZ_F`ML~ohCPX81V!+lwmBm72Cf`+-
zVOGgXoBT&v5=={|=rg8G_E1q}Oq-miqHF+F9tW~C9z;L|5<u)k5CIiPf|x$}ph}zs
zD9t2;Er3)VSt$_CWOG$b1E^3cL<n5`WTk-&N(T{8*$fan6GRkFzM*Eomtow)mRgpY
zS5iF1FGG8>s=9K0hFFGVhFyk3>y#dm__WNT;*$8{{L-T2)cE4kw6x5MDH#qu94Yz9
zd5O8H#Z&sHX!NjV=B1=oOqtLl5MPj3k`Z5$4{9ue<fqh5>EQ&+>J=52Ov#$d#K2J8
zBLI^IsRZemQVWsFTEN7>#!y_Elwq`)Tf>!!QFC&jR-FturZbo`d^>x1VNHto<opy+
zyJ9kzwj4j$+%9$_%WvOj$*~nrcGC`Ezre)6kad}9@?7m02>T+_BpoTHthtkAbqocK
zdpMFaGILUjQuC(7PRV-4G&x?!n&~Ce<T*N#M$efT7)q0hd$@A)^U}dh9Z(Slwj}E%
z*as{n`N;^eXH1jV=}H>BW&#zFS#Ova7{Ep{F!XTdWEPjiXO^VqPMJJKvvEr86pbvn
zvdQ0dO)TL&Buz!BX{kl2dC93*G=Y`9XJTNOoTZ~?lJy1TO9^HMhT^2etglQA3?Li6
zLtO9^Lj8tNe<9R=rpfU}QuUyS=;2DtOU}qI0!LJaacLGKGXq1G7>EEHE6fZE24al`
zISguqAlwLEun}48%nS@DzUPF6lECByeX)9IkU_%&><mMY8N_)AWHTfnz`kNn1@*tc
zWp)owW?phmX-aBZW)4JvBR8=kCAFX=V~RIZ4|{TAK}lwQ-eeww3_d52Q+rr)GV@ZW
zc=JteGKi}Ohk_nRoan#>xdj>uY#<+ijevwgDv|L6H=>>)iyLkR2PMt`C1(DT{N(t&
z(%g7h@IdpNH)C-RA4sk^H94;|Hz~CUl(0cUljj+$vVnp$cFN@Q#$uDd7*{cUVVYcE
z;?C$jd51~5X@-$ELun6Zaz<iadTMcM2`G8@utT|^N*^rGk(^nQ2nuG9bcWI7SW{ib
zqRHK+ic%%a3=ETD*#Z<&epwaFpo*k&@-b5r;c76u226T`$=b=hW@`0WpcGv@1#EkU
zZS52d5G%`u8I<_JnKX7vacK`z7RVnOSuJ4k9`@Y)lu}S4fNJbv0kz{mPJ*f6%}6Yc
zPc1A3yA`AtY*uG6$n?^TBv8fzn`JvCYYEs)utX0ts9=LjLR{6uTwIa@GP{SnpeR2*
zADqg-Mz%~=G?!)D!3-)XCcBtxvSzIV<>fMSLqX%L-H>bo7RuVoJb8z?g4l7eQVgkg
z=F03@XTWlk6)m)^Kqh8^2ypY}ASl@!0?W2d$pRSxCcttaO;DX}Q%W<8CU;nPGu>d`
JeAU8`5da1Lb3y<B

diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree
index 384c04db99c12c799ed45c98736d367b61b50035..12ffe681303949e996a75f9c261cf0cee90f06e7 100644
GIT binary patch
literal 10271
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
a@j3bFpj5_{0xFWhfi=Ys)b1!v(gOhfwh{dR

delta 908
zcmbOqFh!ZQfpu!9;6_#^minH}jwvY$mHDMb3d#9-C8>EO3Z=!FdFcuX2}P;FB}Jvl
zC8b5FDIuv9B?$=%#g%y_i4}SZ!KtYVB^jw)7-|%3GD=DcimmkZ%gf94iVHF_^D1;x
z@{{%Qi_-N|^Yn8Qi%U|A^h=8q(^K_}Qj5djHk71Rl;~&XrKDEqWt8OR*d@esrQ|1<
z=BDPAB$j06=P9J+7b&EqmLz886zfgNV2_=mks;V4j@|W>8QEl<*mE*VQi~FErc9oq
z**K+kibe)&j|etzflbR0>=8is@nj!12O&WWUr%1hCOLT>w?usm#s0_ReVneE(mDm=
z9cHnN_{oI=dbt=5pVGrtl$usrlsToxjkE~C<)A608LAnv8DbfZlRxrE)O(T|(YVaD
zgLqRM6g`r$Q$TT0jG}f*Vup0=lnhxEIrgH|6i|YhJdsz#ssQA)!XB=o)U?#1)V$=>
zlquefAeWXVWeE02<4H!77qUrA=9EyIoWagB`Lt}hU=L4bUUE)pN@`kWPHOR#*eR2v
z<Z6X87J+P-kfENTk)i3$mm!wXJNdJm5mQF@W-a*_OiUS1Hj69WXV%Hsp0OpPCZn>n
ohchoRH?^d)Ahj5r?zVSk)O3_)NP;}MB||5pGNX9&8MR<W0MB|@aR2}S

diff --git a/docs/build/doctrees/quickstart.doctree b/docs/build/doctrees/quickstart.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..237d6b52bf65676c3a4070c43b3efda329e1d1d3
GIT binary patch
literal 12488
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

literal 0
HcmV?d00001

diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo
index 761199b2..5fb6279d 100644
--- a/docs/build/html/.buildinfo
+++ b/docs/build/html/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: b045aa0ea82ed36b5de0726e6cfa8149
+config: 6d2df66aa6f93c86aae075c298bca014
 tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt
index 1fb0f6bc..0d07a3ef 100644
--- a/docs/build/html/_sources/index.rst.txt
+++ b/docs/build/html/_sources/index.rst.txt
@@ -6,12 +6,17 @@
 Semantic Router documentation
 =============================
 
-Add your content using ``reStructuredText`` syntax. See the
-`reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_
-documentation for details.
+Semantic Router is a superfast decision-making layer for your LLMs and agents. Rather than waiting for slow LLM generations to make tool-use decisions, we use the magic of semantic vector space to make those decisions — *routing* our requests using *semantic* meaning.
 
+## Integrations
+
+The *encoders* of semantic router include easy-to-use integrations with `Cohere <https://github.com/aurelio-labs/semantic-router/blob/main/semantic_router/encoders/cohere.py>`_, `OpenAI <https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/openai-embed-3.ipynb>`_, `Hugging Face <https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/huggingface.ipynb>`_, `FastEmbed <https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/fastembed.ipynb>`_, and `more <https://github.com/aurelio-labs/semantic-router/tree/main/semantic_router/encoders>`_ — we even support `multi-modality <https://github.com/aurelio-labs/semantic-router/blob/main/docs/07-multi-modal.ipynb>`_!.
+
+Our utterance vector space also integrates with `Pinecone <https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/pinecone.ipynb>`_ and `Qdrant <https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/qdrant.ipynb>`_!
 
 .. toctree::
    :maxdepth: 2
    :caption: Contents:
 
+   quickstart
+
diff --git a/docs/build/html/_sources/quickstart.rst.txt b/docs/build/html/_sources/quickstart.rst.txt
new file mode 100644
index 00000000..b3765547
--- /dev/null
+++ b/docs/build/html/_sources/quickstart.rst.txt
@@ -0,0 +1,98 @@
+Quickstart
+==========
+
+To get started with *semantic-router* we install it like so::
+
+    pip install -qU semantic-router
+
+.. warning::
+   If wanting to use a fully local version of semantic router you can use ``HuggingFaceEncoder`` and ``LlamaCppLLM`` (``pip install -qU "semantic-router[local]"``, see `here <https://github.com/aurelio-labs/semantic-router/blob/main/docs/05-local-execution.ipynb>`_). To use the ``HybridRouteLayer`` you must ``pip install -qU "semantic-router[hybrid]"``.
+
+We begin by defining a set of ``Route`` objects. These are the decision paths that the semantic router can decide to use, let's try two simple routes for now — one for talk on *politics* and another for *chitchat*:
+
+.. code-block:: python
+
+    from semantic_router import Route
+
+    # we could use this as a guide for our chatbot to avoid political conversations
+    politics = Route(
+        name="politics",
+        utterances=[
+            "isn't politics the best thing ever",
+            "why don't you tell me about your political opinions",
+            "don't you just love the president",
+            "they're going to destroy this country!",
+            "they will save the country!",
+        ],
+    )
+
+    # this could be used as an indicator to our chatbot to switch to a more
+    # conversational prompt
+    chitchat = Route(
+        name="chitchat",
+        utterances=[
+            "how's the weather today?",
+            "how are things going?",
+            "lovely weather today",
+            "the weather is horrendous",
+            "let's go to the chippy",
+        ],
+    )
+
+    # we place both of our decisions together into single list
+    routes = [politics, chitchat]
+
+We have our routes ready, now we initialize an embedding / encoder model. We currently support a ``CohereEncoder`` and ``OpenAIEncoder`` — more encoders will be added soon. To initialize them we do:
+
+.. code-block:: python
+
+    import os
+    from semantic_router.encoders import CohereEncoder, OpenAIEncoder
+
+    # for Cohere
+    os.environ["COHERE_API_KEY"] = "<YOUR_API_KEY>"
+    encoder = CohereEncoder()
+
+    # or for OpenAI
+    os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
+    encoder = OpenAIEncoder()
+
+With our ``routes`` and ``encoder`` defined we now create a ``RouteLayer``. The route layer handles our semantic decision making.
+
+.. code-block:: python
+
+    from semantic_router.layer import RouteLayer
+
+    rl = RouteLayer(encoder=encoder, routes=routes)
+
+We can now use our route layer to make super fast decisions based on user queries. Let's try with two queries that should trigger our route decisions:
+
+.. code-block:: python
+
+    rl("don't you love politics?").name
+
+.. code-block::
+
+    [Out]: 'politics'
+
+Correct decision, let's try another:
+
+.. code-block:: python
+
+    rl("how's the weather today?").name
+
+.. code-block::
+
+    [Out]: 'chitchat'
+
+We get both decisions correct! Now lets try sending an unrelated query:
+
+.. code-block:: python
+
+    rl("I'm interested in learning about llama 2").name
+
+.. code-block::
+
+    [Out]:
+
+In this case, no decision could be made as we had no matches — so our route layer returned ``None``!
\ No newline at end of file
diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
index 329c75f2..9d5cb1a1 100644
--- a/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -53,6 +53,10 @@
 
 
 <h3>Navigation</h3>
+<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
+</ul>
 
 <div class="relations">
 <h3>Related Topics</h3>
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index ed99b194..5d5caccb 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -13,6 +13,7 @@
     <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Quickstart" href="quickstart.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
@@ -32,10 +33,15 @@
             
   <section id="semantic-router-documentation">
 <h1>Semantic Router documentation<a class="headerlink" href="#semantic-router-documentation" title="Link to this heading">¶</a></h1>
-<p>Add your content using <code class="docutils literal notranslate"><span class="pre">reStructuredText</span></code> syntax. See the
-<a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html">reStructuredText</a>
-documentation for details.</p>
+<p>Semantic Router is a superfast decision-making layer for your LLMs and agents. Rather than waiting for slow LLM generations to make tool-use decisions, we use the magic of semantic vector space to make those decisions — <em>routing</em> our requests using <em>semantic</em> meaning.</p>
+<p>## Integrations</p>
+<p>The <em>encoders</em> of semantic router include easy-to-use integrations with <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/semantic_router/encoders/cohere.py">Cohere</a>, <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/openai-embed-3.ipynb">OpenAI</a>, <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/huggingface.ipynb">Hugging Face</a>, <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/encoders/fastembed.ipynb">FastEmbed</a>, and <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/tree/main/semantic_router/encoders">more</a> — we even support <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/07-multi-modal.ipynb">multi-modality</a>!.</p>
+<p>Our utterance vector space also integrates with <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/pinecone.ipynb">Pinecone</a> and <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/indexes/qdrant.ipynb">Qdrant</a>!</p>
 <div class="toctree-wrapper compound">
+<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
+</ul>
 </div>
 </section>
 
@@ -56,11 +62,16 @@ documentation for details.</p>
 
 
 <h3>Navigation</h3>
+<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
+</ul>
 
 <div class="relations">
 <h3>Related Topics</h3>
 <ul>
   <li><a href="#">Documentation overview</a><ul>
+      <li>Next: <a href="quickstart.html" title="next chapter">Quickstart</a></li>
   </ul></li>
 </ul>
 </div>
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index 0db59178f18b0761f032469c90f768ca2a8057b2..798dd58fe0ce62d7106f395bb896e6563936a5bb 100644
GIT binary patch
delta 154
zcmey**v~Yfw!XFBk?)X#fa~`;P25+GtTiu44EoBV?9;%}b7;br?bp4sGm{?W{rLa)
zXY;`qi;g*_U1R4r|FY?}xAAK0(+5vKHt7<*yhLq<;yMY1O~Id>S`AN{2Qs;_m5I12
z{9XLmu&g_9`Wz4O{^IDz|2n@aM|a)+ve}~aJWuEC=J2g*=kIS9KEdI6GdK9^H2%6j
May(t)D;V-J0RI0=LjV8(

delta 138
zcmeBY`p-C_w%*(S?CCS!o@)a%^gK77^7QdK8+gGq#G}3IRqB){&onBUX2fu$YW_T_
z;Oe2(6kII)*~@6MXwxTe@1Smx1}(4R;Llz{-bSB4?<o2lyx~S*z)J4P4HA!L&kve4
vnQJSr=d^}x4W}mc{ILnSdvs-|>q*HKQi@3i-<zH?3tbN0$?%I=JVp@!M#4XQ

diff --git a/docs/build/html/quickstart.html b/docs/build/html/quickstart.html
new file mode 100644
index 00000000..d2ab1b51
--- /dev/null
+++ b/docs/build/html/quickstart.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+
+<html lang="en" data-content_root="./">
+  <head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <title>Quickstart &#8212; Semantic Router 0.0.55 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
+    <script src="_static/documentation_options.js?v=b87b3bc5"></script>
+    <script src="_static/doctools.js?v=9a2dae69"></script>
+    <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="Semantic Router documentation" href="index.html" />
+   
+  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
+  
+
+  
+  
+
+  </head><body>
+  
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          
+
+          <div class="body" role="main">
+            
+  <section id="quickstart">
+<h1>Quickstart<a class="headerlink" href="#quickstart" title="Link to this heading">¶</a></h1>
+<p>To get started with <em>semantic-router</em> we install it like so:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">qU</span> <span class="n">semantic</span><span class="o">-</span><span class="n">router</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>If wanting to use a fully local version of semantic router you can use <code class="docutils literal notranslate"><span class="pre">HuggingFaceEncoder</span></code> and <code class="docutils literal notranslate"><span class="pre">LlamaCppLLM</span></code> (<code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-qU</span> <span class="pre">&quot;semantic-router[local]&quot;</span></code>, see <a class="reference external" href="https://github.com/aurelio-labs/semantic-router/blob/main/docs/05-local-execution.ipynb">here</a>). To use the <code class="docutils literal notranslate"><span class="pre">HybridRouteLayer</span></code> you must <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-qU</span> <span class="pre">&quot;semantic-router[hybrid]&quot;</span></code>.</p>
+</div>
+<p>We begin by defining a set of <code class="docutils literal notranslate"><span class="pre">Route</span></code> objects. These are the decision paths that the semantic router can decide to use, let’s try two simple routes for now — one for talk on <em>politics</em> and another for <em>chitchat</em>:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">semantic_router</span> <span class="kn">import</span> <span class="n">Route</span>
+
+<span class="c1"># we could use this as a guide for our chatbot to avoid political conversations</span>
+<span class="n">politics</span> <span class="o">=</span> <span class="n">Route</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span class="s2">&quot;politics&quot;</span><span class="p">,</span>
+    <span class="n">utterances</span><span class="o">=</span><span class="p">[</span>
+        <span class="s2">&quot;isn&#39;t politics the best thing ever&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;why don&#39;t you tell me about your political opinions&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;don&#39;t you just love the president&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;they&#39;re going to destroy this country!&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;they will save the country!&quot;</span><span class="p">,</span>
+    <span class="p">],</span>
+<span class="p">)</span>
+
+<span class="c1"># this could be used as an indicator to our chatbot to switch to a more</span>
+<span class="c1"># conversational prompt</span>
+<span class="n">chitchat</span> <span class="o">=</span> <span class="n">Route</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span class="s2">&quot;chitchat&quot;</span><span class="p">,</span>
+    <span class="n">utterances</span><span class="o">=</span><span class="p">[</span>
+        <span class="s2">&quot;how&#39;s the weather today?&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;how are things going?&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;lovely weather today&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;the weather is horrendous&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;let&#39;s go to the chippy&quot;</span><span class="p">,</span>
+    <span class="p">],</span>
+<span class="p">)</span>
+
+<span class="c1"># we place both of our decisions together into single list</span>
+<span class="n">routes</span> <span class="o">=</span> <span class="p">[</span><span class="n">politics</span><span class="p">,</span> <span class="n">chitchat</span><span class="p">]</span>
+</pre></div>
+</div>
+<p>We have our routes ready, now we initialize an embedding / encoder model. We currently support a <code class="docutils literal notranslate"><span class="pre">CohereEncoder</span></code> and <code class="docutils literal notranslate"><span class="pre">OpenAIEncoder</span></code> — more encoders will be added soon. To initialize them we do:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
+<span class="kn">from</span> <span class="nn">semantic_router.encoders</span> <span class="kn">import</span> <span class="n">CohereEncoder</span><span class="p">,</span> <span class="n">OpenAIEncoder</span>
+
+<span class="c1"># for Cohere</span>
+<span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">&quot;COHERE_API_KEY&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;&lt;YOUR_API_KEY&gt;&quot;</span>
+<span class="n">encoder</span> <span class="o">=</span> <span class="n">CohereEncoder</span><span class="p">()</span>
+
+<span class="c1"># or for OpenAI</span>
+<span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s2">&quot;OPENAI_API_KEY&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;&lt;YOUR_API_KEY&gt;&quot;</span>
+<span class="n">encoder</span> <span class="o">=</span> <span class="n">OpenAIEncoder</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>With our <code class="docutils literal notranslate"><span class="pre">routes</span></code> and <code class="docutils literal notranslate"><span class="pre">encoder</span></code> defined we now create a <code class="docutils literal notranslate"><span class="pre">RouteLayer</span></code>. The route layer handles our semantic decision making.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">semantic_router.layer</span> <span class="kn">import</span> <span class="n">RouteLayer</span>
+
+<span class="n">rl</span> <span class="o">=</span> <span class="n">RouteLayer</span><span class="p">(</span><span class="n">encoder</span><span class="o">=</span><span class="n">encoder</span><span class="p">,</span> <span class="n">routes</span><span class="o">=</span><span class="n">routes</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>We can now use our route layer to make super fast decisions based on user queries. Let’s try with two queries that should trigger our route decisions:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rl</span><span class="p">(</span><span class="s2">&quot;don&#39;t you love politics?&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
+</pre></div>
+</div>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">Out</span><span class="p">]:</span> <span class="s1">&#39;politics&#39;</span>
+</pre></div>
+</div>
+<p>Correct decision, let’s try another:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rl</span><span class="p">(</span><span class="s2">&quot;how&#39;s the weather today?&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
+</pre></div>
+</div>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">Out</span><span class="p">]:</span> <span class="s1">&#39;chitchat&#39;</span>
+</pre></div>
+</div>
+<p>We get both decisions correct! Now lets try sending an unrelated query:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">rl</span><span class="p">(</span><span class="s2">&quot;I&#39;m interested in learning about llama 2&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">name</span>
+</pre></div>
+</div>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="n">Out</span><span class="p">]:</span>
+</pre></div>
+</div>
+<p>In this case, no decision could be made as we had no matches — so our route layer returned <code class="docutils literal notranslate"><span class="pre">None</span></code>!</p>
+</section>
+
+
+          </div>
+          
+        </div>
+      </div>
+      <div class="sphinxsidebar" role="navigation" aria-label="Main">
+        <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="index.html">Semantic Router</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Quickstart</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+  <li><a href="index.html">Documentation overview</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter">Semantic Router documentation</a></li>
+  </ul></li>
+</ul>
+</div>
+<search id="searchbox" style="display: none" role="search">
+  <h3 id="searchlabel">Quick search</h3>
+    <div class="searchformwrapper">
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
+      <input type="submit" value="Go" />
+    </form>
+    </div>
+</search>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="footer">
+      &#169;2024, Aurelio AI.
+      
+      |
+      Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.4.7</a>
+      &amp; <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
+      
+      |
+      <a href="_sources/quickstart.rst.txt"
+          rel="nofollow">Page source</a>
+    </div>
+
+    
+
+    
+  </body>
+</html>
\ No newline at end of file
diff --git a/docs/build/html/search.html b/docs/build/html/search.html
index 723964c2..19511ba7 100644
--- a/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -80,6 +80,10 @@
 
 
 <h3>Navigation</h3>
+<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="quickstart.html">Quickstart</a></li>
+</ul>
 
 <div class="relations">
 <h3>Related Topics</h3>
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index d37a819c..e81afba0 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"Semantic Router documentation": [[0, null]]}, "docnames": ["index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"add": 0, "content": 0, "detail": 0, "restructuredtext": 0, "see": 0, "syntax": 0, "us": 0, "your": 0}, "titles": ["Semantic Router documentation"], "titleterms": {"document": 0, "router": 0, "semant": 0}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"Contents:": [[0, null]], "Quickstart": [[1, null]], "Semantic Router documentation": [[0, null]]}, "docnames": ["index", "quickstart"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.rst", "quickstart.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": 1, "2": 1, "If": 1, "In": 1, "The": [0, 1], "These": 1, "To": 1, "With": 1, "about": 1, "ad": 1, "add": [], "agent": 0, "also": 0, "an": 1, "anoth": 1, "ar": 1, "avoid": 1, "base": 1, "begin": 1, "best": 1, "both": 1, "can": 1, "case": 1, "chatbot": 1, "chippi": 1, "chitchat": 1, "coher": [0, 1], "cohere_api_kei": 1, "cohereencod": 1, "content": [], "convers": 1, "correct": 1, "could": 1, "countri": 1, "creat": 1, "current": 1, "decid": 1, "decis": [0, 1], "defin": 1, "destroi": 1, "detail": [], "do": 1, "don": 1, "easi": 0, "embed": 1, "encod": [0, 1], "environ": 1, "even": 0, "ever": 1, "face": 0, "fast": 1, "fastemb": 0, "from": 1, "fulli": 1, "gener": 0, "get": 1, "go": 1, "guid": 1, "had": 1, "handl": 1, "have": 1, "here": 1, "horrend": 1, "how": 1, "hug": 0, "huggingfaceencod": 1, "hybrid": 1, "hybridroutelay": 1, "i": [0, 1], "import": 1, "includ": 0, "indic": 1, "initi": 1, "instal": 1, "integr": 0, "interest": 1, "isn": 1, "just": 1, "layer": [0, 1], "learn": 1, "let": 1, "like": 1, "list": 1, "llama": 1, "llamacppllm": 1, "llm": 0, "local": 1, "love": 1, "m": 1, "made": 1, "magic": 0, "make": [0, 1], "match": 1, "me": 1, "mean": 0, "modal": 0, "model": 1, "more": [0, 1], "multi": 0, "must": 1, "name": 1, "none": 1, "now": 1, "o": 1, "object": 1, "one": 1, "openai": [0, 1], "openai_api_kei": 1, "openaiencod": 1, "opinion": 1, "our": [0, 1], "out": 1, "path": 1, "pinecon": 0, "pip": 1, "place": 1, "polit": 1, "presid": 1, "prompt": 1, "qdrant": 0, "qu": 1, "queri": 1, "quickstart": 0, "rather": 0, "re": 1, "readi": 1, "request": 0, "restructuredtext": [], "return": 1, "rl": 1, "rout": [0, 1], "routelay": 1, "router": 1, "save": 1, "see": 1, "semant": 1, "semantic_rout": 1, "send": 1, "set": 1, "should": 1, "simpl": 1, "singl": 1, "slow": 0, "so": 1, "soon": 1, "space": 0, "start": 1, "super": 1, "superfast": 0, "support": [0, 1], "switch": 1, "syntax": [], "t": 1, "talk": 1, "tell": 1, "than": 0, "thei": 1, "them": 1, "thi": 1, "thing": 1, "those": 0, "todai": 1, "togeth": 1, "tool": 0, "trigger": 1, "try": 1, "two": 1, "unrel": 1, "us": [0, 1], "user": 1, "utter": [0, 1], "vector": 0, "version": 1, "wait": 0, "want": 1, "we": [0, 1], "weather": 1, "why": 1, "you": 1, "your": [0, 1], "your_api_kei": 1}, "titles": ["Semantic Router documentation", "Quickstart"], "titleterms": {"content": 0, "document": 0, "quickstart": 1, "router": 0, "semant": 0}})
\ No newline at end of file
-- 
GitLab