From 81373f06786b9494ffda10756979fb569595e513 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Mon, 16 Oct 2023 15:09:22 -0700 Subject: [PATCH] build: Adds dockerfile for easily building proxy --- Dockerfile | 15 +++++++++++++++ litellm/__pycache__/__init__.cpython-311.pyc | Bin 13679 -> 13690 bytes litellm/__pycache__/main.cpython-311.pyc | Bin 52823 -> 53916 bytes litellm/__pycache__/utils.cpython-311.pyc | Bin 164128 -> 170437 bytes litellm/proxy/start.sh | 2 ++ requirements.txt | 9 +++++++++ ...ets_template.toml => secrets_template.toml | 0 7 files changed, 26 insertions(+) create mode 100644 Dockerfile create mode 100755 litellm/proxy/start.sh create mode 100644 requirements.txt rename litellm/proxy/secrets_template.toml => secrets_template.toml (100%) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..8c8140ffc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.10 + +RUN pip install poetry + +WORKDIR /app + +COPY . . + +RUN pip install -r requirements.txt + +WORKDIR /app/litellm/proxy + +RUN python proxy_cli.py --config -f /app/secrets_template.toml + +RUN python proxy_cli.py \ No newline at end of file diff --git a/litellm/__pycache__/__init__.cpython-311.pyc b/litellm/__pycache__/__init__.cpython-311.pyc index a926e70b07ca12ccd9f22dbe4d5061874509d09c..2c81620388cc3eb72a4004dd8caa8f225b34f69e 100644 GIT binary patch delta 122 zcmaE#^(%{aIWI340}$LiuakOrBCjOlp^fURxtLP@HlO2)5MmUYtS;NRd8_PPZZ0_< z28IvJjEsyACdX@vZ!XphE%;&(A9Qfti7k`-7UeIMW9P7}3DnQ3B*Kf`k~E OK7v^$n?D%VGXntYb|WHDAH2!kX`1GdRb6sL9S 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 delta 7792 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 ZE|VaXL3*`0xLXLKm~ycZO8$HIzW_c<6T1Ka diff --git a/litellm/__pycache__/utils.cpython-311.pyc b/litellm/__pycache__/utils.cpython-311.pyc index 53af3d17fe536cfc3e4c17b646378163372728e1..ddeb7a4400ded00daa07358bd2042e8a7966a084 100644 GIT binary patch delta 13356 zcma)C31CxI)_(V9X_};MQo7KUbfXPjpdhG~7O-q(hvLX0Q$pTr38YE;k^(KMVN*ew zvGCAaTV z-gC}9FCANq$2*O&`(k2@0{kqlDwaICyJClv3y1SBYI0h|aofl;S-e>sFHMuKPr*L? zrBU_&eZ0@%1syb&6=i`#hp5-BJyg^8CzyFpwIWOo4B zo3;_h?cxgPcZW-;CE_n(nw{b;Vhw!$N?Zx`zZM;UcZ#b3+o&)@5S`luQGA>V!U6bK zf0peEiV}3#&AFyxEljV7b<$KRh*}wx3N*AD+V+Sp=zW(C0C=C+2zdX1W>IL=TWLQlg6NYT5dG4FwR*7$r0fva!GMRP zWX}6~;C+M2J8K+Gk`k6Z9BFBWmX;wc*~=c`BQ`>P;0kFU6-l*VzwOy5{f;=YmTN&S z4baUtkuu8xl1wy8aoaeh@PFbgTZpJ@)dYk#vbilF__ezm6BMN_jV+C#amtHrj6^9n z>>5D~O4F|EbVP(-wyT{KDCc&iXriAoD&Oropfd%8j$z8K$q8&_6^T_&?oK0SWzue^ zGD~^X6yx}e2!hcDKkU?6ni+K1>Rjt2kIgS_@Y|YvE>E4!Ve>UePFJl<5^eQfQF50U z`G6^Mov)0Sc&)9#=a=new#BO@o5xWv*}SzjKa|x*zZa-Uwpy=j^Ly7y9#@OQ@A7&| zY*VFLN0ZxcbNOrzk1Z(GH~5=vKnZ3p;lw#7Lukv6^(uF2Cm?5ACD|GrJ|FN04+C>v zMth#uBdPT2C7;hxC;4mz^Ba%_hkN-Pm(Ra^s>|tL9t5IAIQ@zhD?pYhZoedZfYWsn zlEz6;BQ8}xCAKLxHw;BdMHr35WEW7Dr3P8@Ngh9T9++>v%fH%|EqmQkHi#t4CfO6ww9Dga(Y3E2B62+hObg&BPewbmneUHASL)8 zukmGS&#r6m7mq6$Ukoy=@@A`?;cjb?y|B_Xd_GtTkgI>|{Ip=f$cRA-P9WfxQ0f0U z6%e$4kV@#s8b;>)O+Xn|UoF5OkAIoN<-ye)&=%~08>*+;M6cWJkbPWbs!Xa5aW{)Y zri;`T!QQ~rggeUJtn$z)-jhizn>2#pOMvy+B=n^Uc_Ta9?)`5Ad81Q)G>VXYoh^?& zLdjp1%qMC{Pv^}~JWR=XCF{U*sr}?#rSR#kWUunf)BDIY<;H`X zH5!jbdG}x)c}uB$rcrZuouIt*bgH(EdTv$TekQ1yE@mhv4vkiBJyfBgo*3n|Lye?I zx%Tj3-NqfUemz_HJxMUE6XaQ7YUe7BLwU-WXX~_W#FL}!eRi|%L*D5nD@jnsbv~rK zg+ERi1&^P1x~x-o#EDBH2CfJQELBPmq)*&2yfq;}MPV%nEC}*2C@+h2GVF*Imq*G} zys4E2Xdpq2`KB2G?QO;etBdUA!VIge{-#tOznK}zfyHE;b>8k8eE=Q z*=@rwwBU5kg07qey_vafrrzRfw$E>$ z+if1DOnmEM@?qx(Z`BjCPb)?R1kk)zG$;$Yb4<~#1k`>#cmc{+MbF!eN_%$>F)1$q znw9h2BZztT=^9f^M2Q+PR#|g83(Wpbz&PdL>2hLG{sv{M5_=|##4BUYWaSTQC7#7d z7#BqSSrgx1f@w5j0`#a<{`HSEjYdpV?uL;`%27ar5Vsd2O3jb)O zF>Sa~&=bdui7-uJk4f2>7Mnx_|DdlG#FT(=uOOx>8+xXZH05_a)8kt#wf?fpj7F#S zZ3j(z4VEAryUO8{z+~2NW8{-x$CW*yY&!d}@d6Y(bg)FTl%n2$o4YC&bS+-mRe^t< z_CL*`*JKEHOv$av5MCNH0q_s`)5pWdi40>^iRMH;t+H!Q*mY12o89jE8aT=8T%sh) z9}(8}I2qn~{9TVG?F{lTY|5Nz3ue|#nX_Q#l$t3Es%mCWTPpW-&ih~v(SL&ce57=o z&(Zw=#jiSFKmQo5bj*e_H#9ROzv`YG8(j5G_5GHjfI9;4x9eRV(YxM0)c&gOQ+eZo zwEw^YM;!BI9s}*!fY+$Md}8j6!ThT(pDVSWgu~^NB0dKxOxxfLO59zR*{X*6b#U7r zuisYhXlMZU+bn_e;i694;6O{O#s^5DqN2i9C;4lDg^0Z_xWYNu`9SP@)tGB1@Q0Sb z;?*z%=S*q&Xx<23g5_~JC0`9#*qVsyYE;!JUwm|JkitGL*TYu04)!ou(`=1y2|X8= z)DxH0k=GMf&}At2wvQ65j7^3kn{p%lQV`;n(2E?QCVC0|_S5QVqs8PFU4}pI9iNJ^RP20vr1fNz)L&R#~_=K`Tck%~D}K2?%RI8uh1D7ulNZ zWFfJnw(6+>zFGe`oPh%a=b$x8)UhtuztN(8n-GW+qf(Un_NTB-|0HoHgG*?Qt`k~~ zK&Z5gB(pyjk~qtn0ajW~0aJ&m|DIx*-bPl;xd}AdYHp434_*OkAr^;Fcv*XaH_E4NUJqqT@%+oDqxOyv3-}#YZZ-G z%;2FF>z2uViKQd z7}&vNhXh;h27VJmyJuSs)0l!`}4Lna?M1}hfp3;i$1_14qSx!^)zxfUI|Sr`+4xKgxhSyC!kqh>2~=g z2z^QhZ%8Zo3_Nn4XD8v zEW<_!lgsR;?1#FR+YJ3D}6-ef^x6&!Cv2p))Llxk~-pt8FLkrO&N7W<6fn zJz-|ggqcvk-O*;<{)>S=Tx#x#!JBg38zGK{tb!kMB6bZpWe7oJ8z?+%9N2q4c_daC zWT~;qB}<|`C5Yah-;u-d{DiU2C{0#=*r)%6<;sI7Uk9Am;|};e z6d-!e)afj}hNSJW_}gn3-*x$4uOYYVM}O?yuSssOPcN8LdraAzruJHrS?uoE_M5vc zB|VmsO;x>d8QX7ecXh|X1+ie$%-;AUX5VdB&-Wq2(UhJsmGID=KD7rhep*lbv`w>t zTztZ&S-nZaH_h+04nJ$nK5fnJsOYwi?ZLnDO|#Bt*q_Mj8CBLZs+on+OA8=CquSi9M-f`UFe#Vxl5+iA&iT>=<=AuBa=n=-jZ>_Ogz3-NQfXQrG{o3FA4yl>9TG^X0XpFn5{d@+o#<(`?M*)%aq@1PCIMPK5fqK zDC;(t^q5P!%q8FT83b!$Z*uneg!JCj+&-Nq8RkTYii*|u2>_d>_az7hxTz7{b-jgU z+x6Q6J%;r5W!;8?^Cs)2xxQ@J)LSgW1jU%Exu1^EJgCdnyi#PzpO&CKo?x7o6?NQ3 z06SYhuAq?Jdf~#GWTJA%C)becl~+C~(#?U5{%Yr?Phw({Fh43s;Q@v^VX=HCK7XnV zzf@kb5NhN_2-OJpVhiTZv#z`uMM~0#gU_-w=8bK1cXH zLLY!VQMEuKPW%qm_A2RLrv}4Vd>5e#VH!dM!g~nk5Z(s}$FFXxtAjwL*5Q=;QzIYn z2EP}K;%Z5*ak%;$Fp(mkN5JffT_>-_S?8ln3lNfVV1~2F=U1NldXjDh)b(|K_jR?E zIM`eRnSWI;j$MLX@!}NLLSEF*Z&vc#NU0m47Mtr3JP7ry%RpY%H)6Sk?TseaWICW6 zwqlN4Zmxlx9B?i}I$9l6&%THzx%AGcP@<7ch);Ioz$cL~6ol_-nN1!BCAKo1j3u>9 zNhe!LGfU1OPO^b*%pmi~I`&2eSs25;kWPXZ8h&{XE660bkeAuPOj59FE0QcmSuM`h z4u4GpWWeXDZwBOT*v5rfg|ebB;V7r0fxDA3WCJq`@@fPf_P8AfK=uG~jaWjx$hWa; zMv(pFRrcWsay_{a%CnJIE%skyJJ-%0EDZ{FCqAN3@-BoXmQYG^^mk!-9V;&-xz+7h z-U|@cNFGss04G83B;O5SH>#fO9_++d^bu_0lYGKU2xk%Q#V%X1w4NO)B?XoZSaCN3 zL%5Iqt&~i1zKnwL9r+LJ%Xxkf+qs_{)WU!wyA^u6&}MTx3{jw*W`qBjZeM} zJ8(5^$I=e=>#^h)_Q$aND8l0i`w%)16r7j)XLPB)c=TF{;I(vSIS-jbxYH0CH;%la z(?0_vgy@jwTJkSK_0f!6M~;{}k<1Z<=h(69$i&Mkq9&3NR2v;Cm`J`LWHK9GL9*g8 zg9mv7F1LF8*z5|DOOCRJ3X-9J0ca&fhm;Dk8HXfJCT>0Y$-L;$ZIj6sqCXA~W20Hz z_2m1UL)u8%Z;@07*=7iR9Fdn8@RkOWW3b&>VI|23{y5*KUIGSRu;B%Qr@nsnCEMV; z5q!x6Z&fg|#O5hK!mR$0X_Y(a~LQvl%`38yNL3cs4A9;1d zn>jy4w*DA9@(w4`^D;sMuZ4J;DtpMQAokHT5+D3&O0_O{KllI8;n$QO<753^FmkDX<42@iUWzem|YOrA_3f@=v%|`G#sif{pBv*`y+i2c+DJuE+M{e6It* zLFQTH(~Qm`733i{We&MUe;!7$sBuZ;Kg=F4Dc#G{?Kt@@*u-uJs8sQ8(xqvJ$ z`N_$#o!hN*SlW!U{s~KAws;}P$H%{q6|LCx5!=3yWa~eMiuUNxp@pQj}KBd6Qk&Olk_b03(2o zeWc1l4onb^nJ>G*i#goWWZ5gL8helZv6-X+;lDJKY_O%K7Bc6i0P^<=@)wP~SP-~s z2R%~`*5x9g=H!u30>yH>_ytyQCubeJ>ej4X?|`@2^50o!3z=*D2Kyi!3mG?(bE$N# zIrQmWx`WQ*RYfrU4RcHKkHXcKV};PUe}j-RVeYSggi2T7qm zqUI+bBpGD}7!x)%tgWkoY_1RQg;5QTX1CWN%BXyw4ur!aAGxdj6UiamWe$-Jl0s81 z0qwBaCpl%vsPls;tHQH!50fGzHp>V{L#~I(Y8s1H6kL4?DlJ9BK6sQ=k`pZFG4dDE z!yqd&iDqcn+{ek)QD@E2WrT*^@i=*bghMm;k#b5dvRn6)LOM#rI`@-0@_s1oNm5E_ zo`%hPieyo{hBZD#hSMS#_7q7qj|TDNYUBY%9Da)I(SHF{ec`)9Bq`*0nk>;2V^nwn9=17qSS;TTz%|ETN|5i)`Fs zlAAPiZm6xmPNf=Ff0(SKnwZdAhsl1bojMFT| znfiq~dxR|1kB9-G0w7dL=%(jLKCyA3%Awz4c?!-uKwh4LgRf_g{D#~}N5zEx^&8?K zqj>kp*a8zmzyR=n4ZQ6rS*{aj^%chn43V8&%`wMoI>kRmOF&N2{C;UDj`okqla*VM#BMAa%xs*h}PNlE`}# zb(v`YGO@OoiJNYWVgK_od5134;BzJ`K28!@^l@@6-5e8|dYqJM5;-?q>jRq(_Sx;P zlaY2#*sQVeyPr=D3(6DPy zku-R_$j=|w+TbeiML{LnqxvNPJt*1U!+qe@N0T z{8DiMx&0j3JHvkSA-s^~rtVEv{t>APrr$Urx=zDKzW!-gN=3lHFdS3u_cl~vS`hPHauqhL&O+8X>O zh}YwjRKN5vi@8Xy)_b6RZER@PMbbdP+dO}XjE0ZDULy1KP0%FAvPoZ)ABaCR=^HZB zKs#dDjvvTpHz8}7ER$Q1CnLs}kyS%e zq(Kp`JV*Dr~}v%?KE$hhwD;PW4qWPhQDeSb)+w z`a7Y+=Gf4il%Cg*7>HQFS#AJ6!g?Ov`s6dn*@x^@G#!(C7RvUxA>m5Ig(etj{+I#3 zJ|uL~%e#;ZB*^`!8pQ0zI)$w@(owoSP<}sjkC9gD$S(GN9DM?!_}eVBoa|x8E%Yk5 z9e!`2snC{arMdccb?783g_XMs*kOJv9jm(^s=o;xu+lwxvXxC9P8(p{;o)>xRKz&2 zlf&tF@;(DsJso`og^CWqNR8(nHTgjERMIA+SCpOGin*I<53 zN3b3t7{~0{bX~zwR4P#yA8GpF8Db4JDa;8YY>NxMmQ6beklC0^?=tO2G6>t_LTP!_ zt~YV!t8jN5W%CQ^4Duvng|uuX${{1?oJ+e|y~Xj!>lLg$j<5}vJYn#g05$MM1T{Y) zKZ)&yd>=WRWEn2*k#7sg2e9QZD=nghM%=M{+wKq57SUB2GKHNOP4m=%n@81r$Menp z4%3XGC1fcZJBHq&>w%Gf3H@OVeUFl}?7?v~wY(RJ{RttA@Gio82~IQkTMC-lfwG|51#EbRG-bY0XJ*r89uS|`$pbhd@9E2kC3+%`RrD*FhVKStmj z9)vaE=QJDzVJLphOn#63cR3xN$S3CveTU;P0WDu(u@$uNYR)xh7+DYNL}^u19r#Zk z^=nPHNT$p;EQ^QC(NnpdSr=OEyj8xJjs@1TR zO4!5~+5Ad6g5G3d4VCmQ>jy}w4%s-5r5MTe2vu?5w6hLhggS@Xki^w z>EFqRp*yG1uL$`a+cJYr&~p->vER+03-#Y)-+!{inRH^*4_FqoY{^VIno1V7VsUxPlh0Z9B04z-S0ikKFBG|) z@U4nkS6x_JHE;TSnJ9BZLFqQw9yiJpql3B$fxWN zOXyW;T#iRk{d{shZ!}UFrVUw_(s!b$LCZc}NmpBWK8g2iM*fXjw#q?AnN8T)j1Z$` z?GBnvW3}uB2Yn+E^&!V$3zs3X1oy6@wjf^`?zy%2!cQ)NO%pcamw7zi^$y7XapAbj z=BsQ)DqL-6ktpA(@mQxW4%VTT!zQ@Cz|FkI@9?daxo)^xaMOpicoM=ocoAEFJ$&y2 z$9#o=hryn%?($@$IUM0<^a8CZT6VLO&UEtqpoRWnD^6MC5^L%t4>~=#Z{o6q%^vvr zEI8&yNPPI!RptxKSKeCda>G}DyzrhE5*)tOlBnLD`9XdU&v2ra*+tqys@S6<9ZB8} zofPSIogO>D8EcqF5<>NB=u3pAY1tSzO^Z_BK|Rl^-83hIrv!MEGz0CtNfnY)kJd89 zO|!Bd!dZR=y7QR;@P-)qQSG-?%iea=@pPLtWUi;bB*SoFF0=5NTGr};gLI#j9rVx% zaFEyq56w*CCWv1ldAfpc28))ZdTDw|6;8@y3BItIsPHQe_rGBt8Nq1@iC%ggA^&C_ z4b*RZ8S19bvp*&WS!N?m)3+k6UN)(brWAAU$`gs)v44TvnxC^0T%st4%e&g|Z%{+J z@7XPlw3Lq4vZIYOotibFcN%F0A$=^-N85s%k?a-e=dD=B(~-Ag>02a!8i6Mtc`lM? zYkBha6gG4r#G1fJV`2J3ik8B>lj<``wnEy|c{Qj;2(l~H5p zR2*i+CE%HYOC$(Ij8bKcCS@KAV)!NRLBQyR2O{#Iujb(ch6$0_0!#R1DcOvZwBRE; zPVV!#5$B72#V+{XFcG4-Cbv{!lBdHG0#}0XSZHSx{iCj8EJ^AU01g!#z3K?OAM1Y} zQd$Ff)&=l#?MJwPu)8+WBf}TyNm`%qBNUkyeFA>| z1YUI`A@O~}5L`z?Uk2!8GGP=M*(U&WRPv8QTK@66`qZ_ioY?u5cm5gzxhwS>gww1s_O1~ zoqfL0Rr5k4)`f?MO87}m>!7|Ez9ga*9NpaRikvY^>Cy+AikhfBEG0pA+Atd zh%epo?EK&Pty+CqnWnxnImN7KILnoa2Rpo~#tYlMXnRe-c7582xR%AMZZ*_m!}R8c z^y1Y*eg?8<-ZR(N6c{Dh8htSq^P+I6LO4Oosbh0f^;N6x)B7*JpT8W%qOD3$y<8_P zhPjLDB%V_aar)ZDN&Mtqh|&)&ejdzv`H~c{=nI!T$k}G-q+eQ+AO~*<(ZiO$WeTm6 zR<+QV>$Cs%GZ7*l8%es5}T-c;v z-u|v>)S?KlSx@WRQr~MhO))4q76n`Dn|I8FalQ`kE&*ug+x6Z9L6GD7_wGa!vqk8` z_x1LD`cWZ-euC4yPV*h)OWS`u46gdF9=-;8$gc^P+< zLQ8Y4gxp|##qkUX(RUxu2niJu$#s&R(l>7D2~$W|orFR~7_txcLwvyXT~CY%v)&4{ ztc2@}Po#ASuLqYwif^w0Nt$ZCO``@`i9m@rNJ58)Tk1_G(oB)aS;+f_K$1mPqVS=X zzk?65tVHW$zDz@h&p>RUuRv_6??jB%&mdZso=givOY2~+xek;#z2nIoh}S2ce8AGG zPI^gF67-cP2SK9#^~u4$UVaBl+K=AxM@({fRIlo?SGg6n(xd$uncBztj#ICNUO;kz z3B8x6E2nSzs?HR$+yv>Ver*a8qz~@zj`(4_!8!PIAR)9MOFodn3NqybnI@$D*2>B% zd$s1SbtRzP(@J@ce%Ee!~mwj|>{89q}#wx)974Y4G#< z*B3HOzaV+SXT7+V$wOx~>hkwv+m*T96_fDWxy)TvRpWAcXLiz5kGn=IQ$3xl95d`* zcZKTm=(E0mpa{_A>1MS3L3H;Vsfo#^Qg%8r?r3D%s?4L2?GFXFzuLrrm=WsoRCs>_3BkmF!rAp-BMZ>ohkdOuIDkx)i>Py3ow25FFhbw-}*~OQw$Df z^IiBQJUs3*nt=uTXcY6&+H>^$Ef2Or?`+&%B&`)e0>Mkv^c}%Uf`1aY37QBFbB`4s zf*<(%R%qSrGO@^g+TRI|5d4E+55Xk_Tda1JXobc;M$`#z4Tr>rlSKOo3J3-fR1C^6*O!tO)HKd zo;u!FR^##Vwc*gml!44q#&_W`DjM4H-YGDw>j~hfwc?Ou&+*Bo9o(5VamYbvy1Kbj3w8g!3| z{R4IUBPm8gy2g5@`XQ8$>;iv)j(kBEm=Aq;NLMI>JYLlmhC(mCvnz}U-$#=%skJmn z2~X?>3*bY(svES20)C(yBt<<;dXJIbNi?aB{7N@Siycl}OeaYjMik9b8^W`?!+O}q zk9LRtP+-L8!u}}RXlfU8Eg`De%p!UmLok-$L2k~64D)!Rd-2Zs&}NjK=u!l~thy9! zB@Hr&;CTdFs7AJH4iXX(T0>1@kZ*`uMsR{)5{b+wsyBZlAKFLd5n}?uM1nGYCLj8g zeMss=iv2{g!sf};{s2ApB%lSS6%elz39Cd22MO(k_~;L-beG#bHD$PNJ=zcw5N;Yu z)G$7$0LG+L5>30QRz=_i!Eir#?Qmx1~6wZ|7iql z4Vy*cvkB_>mXXlwH;n&`gcMdDY$T3?O8{mbS_Ek^wEftE1M>?k8{WGJ+O%mvB_8}r zsj1ri_~Q?&byPZ)z+%wmW6R87V?hzjB~6w`q0;;~@}3AbW6+eUBT9w0_it8%XU9Gwt&Q#njtE#;nd2%t_$Fft6{Uz`{Rz=v^CTq{&kA|g{ zq&*j4T;K;LLYt`H@-+*;IT1QVFGZPGaOd*$MQi6sKX*5J+2Qk`Sh425yc5H|q%W7J zDv+19m$+g%PA6&~cGUJGU=E30`9o<}$# zD~c2S0>O&}D|o&WO0xgw;M6{a#(JHoxkRlZYBfLX#OaCtYl%@$O@HL3sgQ1_n)1hB zqtjFvkZL|m=FZ`@Pr_=r$Xh)HHn?c?e+mZ5__**{7#Ak&7aL`T@%Lw;C%_j*+r@yD z!$H1d3D}2<38bJNTU%j*Kh)`Qx;$Qot4#HW57V5uFFGm*X_{LLBnNGs{;(-tZ?zqz zyfq#zmdq22;3A*66w+~t&s_?IefpE_A5min*%?J3+}^zXWe~3o0eMwxixfItEZ6Pa zszYno#%($b3Ee}@1c}BR9Zn~*ePM?E9k?vR2|i*Aw6pk49Pv7b z%&0*jmT(0X`K=zcOjEsfToE;@7MK-Z_a1Z%rDlyF#yI^ROkokU7vWKnP2M=q_^4el z05Uk=1>Zt8pR*hKu#1d;up4qMIanlV-!lH|ZrBN3jh%a-H-nx0+6T~q{ls{?51|}- z7|(qOIjqkQWEXAfgSAmOz^veOuR6n<-ZOm`ORxX#SNv!{qR1?B$-rSl2Td5Q^`r4+ zvL#6S8OQht60KKB33b;{edaz`hI{jS`@kc2Y*s(ZQZ}W=Rnaq5yF}7Wq%=%%cpa%z zJ#H7WbNRRf&?${Z3+N9;{YZ$RPH-2rG5clVIU%_FO>F@Ej>+esK^5!C<~y2*T8bUln*&}II&3?RX8)_7jzGDRD#yxWr3x_6%ru9DpBg`vkgm=UU29EG9q+8K6 ze~36tR7F+p3a<#ec7^dLk3rIJBfR+-6tfLhBm6krWHEP{b}O>H^-0KX4kRkUYzYZi zcXuEwPU52ZH{($kp(S5=5-Qj(s}bghuOU`+fk1TF?db4_PeU>I#@L(i zOjv3b_3Mb>k0FKqJTqNo&02B$GKH{QwmY2Xg|I0N-_Y>i6a0ffOtX1jG$lszQ4Ps*V5hdo2wn|zKL05uaG~*lssz_#FH*GDBGju(OQM3uAu{ zHe)+(c@cbsmBl7zqZ)sBmAkCMjxSNwZkI<5oHr8m)AaiT3JP{Vd1>O+1bfu&)2o}9>fnER8~0epNSb7hJe z;bCGtLU0_V{SoSnGPRoGZFf1URIQL-N@RuRaVYRrxX~|(oi(T2DOK=voPl=u&9~lz zSCD1vdEaz)fBZ`FT;yGK%B?dKOO#gp)pQmK>-ffWbZQBWO=`5}nq@rkCh#-qEXy6+#*$4_P-KJ=pT(A$VF=%FKdVj>HF^XYAqp$uY!Q!Cndj!PZm^bD<*>ma zLr6Q78GO7BiDAR&kzjU&aW02FDVrU{F&opmu@ErN#0OslpVOUv&u%hanad`d>yfu7 z!uT?mMMKtLlAeRZVzufa+Kb?iEOWT*4h3svto0q`DsCcmyu|}-T-a=qAvh4hr$2zH z^9iaq-q z*#+zrgV%UiAxrGNhLpWdu$JHrf^`IM609e^V6_oBgvAB3HIcks z5v#SlM*{E5{JYVt7h4<2&lj=0PGT#1pWN^cHE$#k7S>S4(<1d-raLqjUIl3D_>eKI zRje3X81x_NcbQ-_pEZVc$Q4!#gUNKiNl_=&l;cq;iaa0b-b%2IU^@X7UfNoIY7Fbc zWU+g>8@Ir%Kr8(SIa; z<4(;xITgX2(Wtv}>&2HU9;+y#s zPUekj_Jwf6Hg28D=E4sC>{Qm5{e$sCQ(2Pv5OsK)U!Ka^mWpL8R`6%Y^~+UGmv%5P zJ_`MXC}EBm2s#n(Fu^W9y@IuaHT=~ImSz5&SpU)cq{L&M ze^bHI*r$<3XeG-q!M8kn8ta-QtbU!G{VBA!T>Dr#tYXb>Vvp9>&vZRD6vSp%zgV;g6o|tW<7Y`ni@SB)x)1dy<0~59SjQ$pB#)?PZK1Q#t)4w$f{n)RdCU*&qRdw`vZP>t zkT@qF=Q|r&2JGc$8(FMHjBr%uHyZKeox+nBuw-^h=6MTPH+CkwvoC)q z^NWw;BKcPok6*~T<09e17P910vB@;w1c=aog`ES*TSxhoMj$Q%#oCUf$%z6&g!VfU zzGpdqOgw^Jk;cJ=>_LE!dB`H>ZFm-WgNNGIXoFCR->kUtqPsS*yNC-8@#;N*1`sBR zZIEtk{UMZXUbh=B#Kj>jZnng!e~GLU%knxZ_gfrJH{AmSDm+SEf2g>IcFs~Yeq#~K zU^ir*_9Sb~jxnRplPnK#(LeSSTioyvjVo>q50lQ0^eFDl#BEt2Jzk}TF9?Rxqqr&? zMwGZ)JV*_P2r>x7@)tXyxMgTVyi5Xdwel);`-mRf5%iY$Gf(5f_Xnx2nkv5YY1X5G z{#&A5AfU_lKy4;M5JP=M2r`I@q}Fx>nFO`OGZ8hPD7yO6o+emIAnr8i!X{8xCz9L| zdfZDO?g&Kn+Cy%@=RW8_jS4i4N+pe|8&Q*J&4)CV45B`0t};Zn_=E6&1C`=9*64T@ zCu3kw5c%=joVga<3k$uPN;OZ54U#0ZN@AX;jhoM~&rH3uAg)P5*wlVU*R9!tycdcg z0fs}9^gHayEz8)}R{3T~YLb43qxq3#tU5Ia-|=6_Xp-pne_)L9{BqV8x~D0ciDdd!@Fe| diff --git a/litellm/proxy/start.sh b/litellm/proxy/start.sh new file mode 100755 index 000000000..09357679c --- /dev/null +++ b/litellm/proxy/start.sh @@ -0,0 +1,2 @@ +python3 proxy_cli.py --config -f ../../secrets_template.toml & +python3 proxy_cli.py \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..2efac63b6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +openai +python-dotenv +tiktoken +importlib-metadata +tokenizers +click +jinja2 +certifi +appdirs \ No newline at end of file diff --git a/litellm/proxy/secrets_template.toml b/secrets_template.toml similarity index 100% rename from litellm/proxy/secrets_template.toml rename to secrets_template.toml