From 26002006d46a8c7119241934243c54ec8f6c7fae Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Mon, 3 Jun 2024 13:39:38 -0700 Subject: [PATCH 1/2] doc - spend tracking with litellm --- docs/my-website/docs/proxy/cost_tracking.md | 144 ++++++++++++++++++-- docs/my-website/img/admin_ui_spend.png | Bin 0 -> 179745 bytes 2 files changed, 133 insertions(+), 11 deletions(-) create mode 100644 docs/my-website/img/admin_ui_spend.png diff --git a/docs/my-website/docs/proxy/cost_tracking.md b/docs/my-website/docs/proxy/cost_tracking.md index 7405fd12373..f2d456febb5 100644 --- a/docs/my-website/docs/proxy/cost_tracking.md +++ b/docs/my-website/docs/proxy/cost_tracking.md @@ -1,22 +1,140 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import Image from '@theme/IdealImage'; # 💸 Spend Tracking Track spend for keys, users, and teams across 100+ LLMs. -## Getting Spend Reports - To Charge Other Teams, API Keys +### How to Track Spend with LiteLLM + +👉 [Setup LiteLLM with a Database](https://docs.litellm.ai/docs/proxy/deploy) + +That's it, that's all you need to do for basic LLM spend tracking + +### What spend gets tracked + +For the Request below LiteLLM will **automatically** track spend for +- Virtual Key = `sk-1234` +- Customer = `palantir` +- Tags = `jobID:214590dsff09fds`, `taskName:run_page_classification` + + + + + + +```python +import openai +client = openai.OpenAI( + api_key="sk-1234", + base_url="http://0.0.0.0:4000" +) + +# request sent to model set on litellm proxy, `litellm --model` +response = client.chat.completions.create( + model="gpt-3.5-turbo", + messages = [ + { + "role": "user", + "content": "this is a test request, write a short poem" + } + ], + user="palantir", + extra_body={ + "metadata": { + "tags": ["jobID:214590dsff09fds", "taskName:run_page_classification"] + } + } +) + +print(response) +``` + + + + +Pass `metadata` as part of the request body + +```shell +curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Content-Type: application/json' \ + --header 'Authorization: Bearer sk-1234' \ + --data '{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "what llm are you" + } + ], + "user": "palantir", + "metadata": { + "tags": ["jobID:214590dsff09fds", "taskName:run_page_classification"] + } +}' +``` + + + +```python +from langchain.chat_models import ChatOpenAI +from langchain.prompts.chat import ( + ChatPromptTemplate, + HumanMessagePromptTemplate, + SystemMessagePromptTemplate, +) +from langchain.schema import HumanMessage, SystemMessage +import os + +os.environ["OPENAI_API_KEY"] = "sk-1234" + +chat = ChatOpenAI( + openai_api_base="http://0.0.0.0:4000", + model = "gpt-3.5-turbo", + user="palantir", + extra_body={ + "metadata": { + "tags": ["jobID:214590dsff09fds", "taskName:run_page_classification"] + } + } +) + +messages = [ + SystemMessage( + content="You are a helpful assistant that im using to make a test request to." + ), + HumanMessage( + content="test from litellm. tell me why it's amazing in 1 sentence" + ), +] +response = chat(messages) + +print(response) +``` + + + + +## View Spend on LiteLLM Admin UI + +Navigate to the `Usage` Tab on the LiteLLM UI (found on `https://your-proxy-endpoint/ui`) + + + +## API Endpoints to get Spend +### Getting Spend Reports - To Charge Other Teams, API Keys Use the `/global/spend/report` endpoint to get daily spend per team, with a breakdown of spend per API Key, Model -### Example Request +#### Example Request ```shell curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end_date=2024-06-30' \ -H 'Authorization: Bearer sk-1234' ``` -### Example Response +#### Example Response @@ -125,7 +243,7 @@ Output from script -## Allowing Non-Proxy Admins to access `/spend` endpoints +### Allowing Non-Proxy Admins to access `/spend` endpoints Use this when you want non-proxy admins to access `/spend` endpoints @@ -135,7 +253,7 @@ Schedule a [meeting with us to get your Enterprise License](https://calendly.com ::: -### Create Key +#### Create Key Create Key with with `permissions={"get_spend_routes": true}` ```shell curl --location 'http://0.0.0.0:4000/key/generate' \ @@ -146,7 +264,7 @@ curl --location 'http://0.0.0.0:4000/key/generate' \ }' ``` -### Use generated key on `/spend` endpoints +#### Use generated key on `/spend` endpoints Access spend Routes with newly generate keys ```shell @@ -156,14 +274,14 @@ curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end -## Reset Team, API Key Spend - MASTER KEY ONLY +### Reset Team, API Key Spend - MASTER KEY ONLY Use `/global/spend/reset` if you want to: - Reset the Spend for all API Keys, Teams. The `spend` for ALL Teams and Keys in `LiteLLM_TeamTable` and `LiteLLM_VerificationToken` will be set to `spend=0` - LiteLLM will maintain all the logs in `LiteLLMSpendLogs` for Auditing Purposes -### Request +#### Request Only the `LITELLM_MASTER_KEY` you set can access this route ```shell curl -X POST \ @@ -172,7 +290,7 @@ curl -X POST \ -H 'Content-Type: application/json' ``` -### Expected Responses +#### Expected Responses ```shell {"message":"Spend for all API Keys and Teams reset successfully","status":"success"} @@ -181,7 +299,7 @@ curl -X POST \ -## Spend Tracking for Azure +## Spend Tracking for Azure OpenAI Models Set base model for cost tracking azure image-gen call @@ -219,4 +337,8 @@ model_list: api_version: "2023-07-01-preview" model_info: base_model: azure/gpt-4-1106-preview -``` \ No newline at end of file +``` + +## Custom Input/Output Pricing + +👉 Head to [Custom Input/Output Pricing](https://docs.litellm.ai/docs/proxy/custom_pricing) to setup custom pricing or your models \ No newline at end of file diff --git a/docs/my-website/img/admin_ui_spend.png b/docs/my-website/img/admin_ui_spend.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7196f83281fdbb667ba30319c7e0bae419a592 GIT binary patch literal 179745 zcmeFZcT`i|);=1#f`Ed6^rEPA1?gQx1f&Rr7CMC9d#@r20*V4kM|w+W34|7!ARxVW z5UHVe2njcy^Pcma-+RA1uKsn$xZ{M8?6u3>Ywxw@n)8{@nu|A@>PqCK45R=6fL!_6 z6Dwtz79;#J5 zxsUtS!v{~at}zZ!wGpzL@P1u)H{$zRspp;k-8Gg<@_S1DJsv?kIPO%J|lK;oAR-Vo%_U^&GR3I|_Bz*i;~NgHGZZj0!f zu$IR5ykDkV4L4pP`|PG5aWQk%T)|^;4@2b;7Ak%`x7rfc$uw3^0LG(H8-7`O#Q_}0i`pv8ZVT5p<2Q*gr z@=B(btPKe#g!mNKBRrc)j!CU;pM;kxU5S5~1-Q6+gY_px{K1E#eR-LmNQ$cc9O-8t zj#he}T7?x{Uk%lKM-Jtze9^jSySH%FitzGvUsx>JLGLTIsmq-+_G8Jmm(M?izrUuK zTSD$fMerKiZf3zYNIc%z=%yicjU~w3qm{lEJs{PDrp};}xEgG#DADNX* zlyzCbSzl<2WXJGpUZ(KZvThTNW(z_hPy_)p^d06uWFAzKSs6q(oUb1^ma7p|f= zgRPVVRaoSYIYF0FTBEw7V0}eH6f5d>zpz*BTsLeEknht{bIOD(B}x{PnS4qT}GV}ohF?E`%O~VYwMB> z<@wRp(M0R?ex7$PICj?^*~iUq&UOuU(F4{`6tU<2)SPH%Hi@lyL}UnHVN_5|%=f1x z-4K4WjOghpE4I%-XrVxXKGY)$LFLwz)|N+tAE;W`a!-x&7M_q9`RWp(QP{m*B0M(2 zC!zZ9uH0?g6k3p=i&!@k(Fa7!bLr!ag{qX_aKw{rb}naq6rQtiM~r|!yk|k8mP}7W z)EDo(MRJ#3{yNoTMcdab7H{?0ykAqd$~C+P+`0DVDb@R%cbIQ*P+5soUguKmey3t3 zq!qKNKymxt`-5lq+!_5|A96t7YutZToMl+ZZvQ6kDgAwFaz)EQWm^deaz4430kAER zVZ`=h#(@uOiiZ+YkxgJ5*k;b)Sfy^4_HqdQS~6z6o{pbb-2hf2#g;-nWS+{u=#5@lBqU7Of`t{iBb=9|Jy$c6WE@cW-yU=*C|@ z>!#@rNbKj5)xj2iDY7VO)l$}dU&yOH32}eC4DV*-PPA7(%DemGps=S9HljU3GD2DW z2uK2ib8C2I*eBXYY|xA*+gk~f3Fl8)!SG@3FarDJk@JzRjie1;uefugBkrTN4bf4O zN45->k2oH=KT5LS91(*K<|q$Uk6au0X-8}4JSdfS_UYB&cUxYDWcWLHqIb$znc_(0 zkc9&nSH;%Y#=yq-*ogO7+;~Q|abD2#dR3C)iV<^^6^eI!66&F_I(((=#`hZ+H&maF z#McV`Xxx5gY--%({AQbF7FCydxaN=NZ{W{!#Bj8YS~`cHzc?R05?#w2+hHsc9`d;3 zW7YKyb9?7j7BQT7khtm^{8lyNwOb7I#PreE#_2NzH-&~C?hAK6GIa8sDIEV~z3IgJ zz{F|B;vx;AW;0Z^PID;Yk9-rRT>hrrs!BPk%SM}LSZw(5uyp=O?|tiQRgbDht;?)2 zD;+CKy*8=ipXV#sKo58YdB+UXV7@MP;Lm1=ZwyV-!f3 zqaH*(j(QrEoYSjxFV;l-d~?kujz4ZP4#d0@H^@XSnD6@h;M2G|T-~UEyTHM+$daJ5 zk8%3Zabi`v(7a#70UupTk8iRfe;L22@vPBT$PuK`dBvH_dDK~y-tg_S4y_JxpYZxj zwA4w?HmkIe^uE+_z{RrN&gW&saFtEks2H}kY>6e{v%gz|NPw5$aHDpEsGrZ-r&HHJ z`#_enl(YT7nll;8sRu%z>pux#m@w_ZQ5SPnQu-eH_bwh@vRzVL#sPXmYeTz3Ny75O z*2BEQF!KEJRpIJ{)Zq#ddc^ZqjFpH@L+_B+pl@mK;F^g8p9Z=Il+5AgKgw73)=uB; zm2}LL)m))_CHgeg#6|E4bwaxc>edNS) zh0jvy(jB+5J^Q_`J=oq3^#ye|Ro&gU84qk)zdpe{k+;yM;^LCA0}VB|hrV&R>wT~O z4&A-^PgcTq9l1ECa?eIXMnutx)TTS^=3|w|-F+Vg(ypkJ+ps038>Ub7gWbm6O?LzR zO8goF1%l}>4N~+B4GcBv^v;V9=dNYG-G3{Cr>e>2n@FFAcz6(``(*66v}N<kx;&O^yZVVUm$iY!(-1;bWzbY%N&Rg?y39L3-N*V?S}g?Kh2wb zf`Qnm^}S)r?*pIM(*|XRy;l-G_mkq21*b;#|LC(%cM=R}*^Kh|QL3V!oH&RbcLf|k&$jGhA2id z>8)|4b5{+ONmry+=g|I;fGR>&;6h?$Jld2bIgbyezg-vDM*4$vF`AJlNO$}G@O_^9 z0S)#S#ji#WM>$L8A)hN(0udf(9k7qE1eh_6IgJ|X`*@lDNuFTNzJH?WXa>%}aE|Vb zAB>q!F4SiS=PY&%#b%0J6`7r4szzjYROSbgxv6543P4LW8JO5T(3S|sDQ~*Tna+7< z>PBNu*;pCeyP&0S*~>OP7viJ059z7L_=t{9kGss}R26s%Oz=#i15LY|7|{wRH7sUK zg|fD8<>%M8G?fX49#mx`ALdk)a8(o?xPDt4v+iF}P-2R6l(l!S-uQG}vE0ek852hd zzgc}P?Rxr}hLiZJ*Y=uU{6Un!1O7)Q zo{bX&+e5)?KFRZxUbWtjjNI!-JSQ>k9;>x|OL~Ejw1$n4qwm7Uu$b{SsL$N%dN-8y zelG;n0Fth$azWO82w6RtJv+H_qOx5wFA!q3o3%ojDtqjS@MaEJyDZ1N_?}ZAkBB#w z>I&M=t6$?fvO5!6vVlpfODhEs1PI7xo;IK(*S@Yc{g4&LmIm8l_7_Z>LSQEvYdgW5 z!NRBh>x_+})AJHYC+62ozPtRZv#TeZtcNn2r{7L}kF{G1Y%&W%*n^5r?GIpQptYKS z2=Ryrj<`>^(KO9w3d2JH-$rJDJqO@Xt!&Qok2{xEufCm>3KC+elXh-^S4icgFGAus zB0@w(@h0kNoRL{ghJt|iIsl7VJPGejSH`K5uH!_l+pR&(`4iA0@uG$KPl5es3UjiV zVLGGq7lBy182>wgd^U03^6QD%|&F7XH7kCIw^>{Hsj( z6L$_EudSf0jN58kx`V;a9=0x?@vn)ia0jlsJ~QwD0BAXXeesmF?(6~p_>*=z`kwk~ z&m}BfocPVHTr9x+zD};c?gNnWmB1C9z@Fx8zD|zL9umIN9RIjN0$2WZSb&4=AD4JK zNOS0`X|gG}xP#e5_#f~;;E*9@V`GzYx3ZSddh+xyaonCXhpnfltAv1nkB<+(j}X6$ zyN$p@adB~h2Z92Ef_%6u_&ofaJ|C^Yno%R2N*snAH6#K_}{j)l$ zUpJG`wDSc!>OZk_!ZkJS(PRXLMIK1~qn`iUssDM>e~JP^kG6omX;h3& zxdj@rwfG_1+kR+kq4t)+GKN!klR=XE3hfh}oA2YQ!E_VG@Z_`16JDP*W4NSbJ=y#R z8}IFzfNk-U;QV*1dqKhXZo2i_USSIb;Q#*5KptVM@rFG@pYXaI0PpvIcJT=TXKa61 z7ZFiH{erMZ*Y7_b?p@N2%oYnAwwCX$PHwKNI(3D6>DE@1elT^L=7%cvdoqgWL$@CK zy=3;Ei4*ZRx`dODysCP9V|>b$rQpvVuRO9jMSyHGNw&d$2MKGBlkuWU^&GHejqce_ ztWcaUGgoRk*V3MFTX7)ULPV`jWuRlLV?w;j$!{ghZr3OQ%4gqv{*xx05FwoNcMCHP z+N1WKI-}ld$W(tw=EQiy+^DJ-w-bkKGN;5iBpC}+D04&Mq;49i+ z4h)Bp(i8O5f6!$Ub%Zyu=*bfnn8S|r*JEibbQx;J&`(szUO|;D=1ZJVYLpSkgx8w;x?YAPE7WGrL^LKhd+7p-C9&rO@e3 zpPKaY-l$9byODs9phcYkv#H1}IFsu*89*Zawd(2U6Z_H*Cp}#~ke^q3H;+SUsf6R` zHq3B>2&?tsaZ(CX~#3o(EJzjf70x)BbtHyYa)(1E|NRlTyD3V zQ1n0I9OlcHV-B`X_-{?Jl%WU#z}kKoH{Asfq_A=(fg5DHks+Emd7j`-hwr&4OSgTX z)(?4})dMiB1cGWt?l2BWkDgoS>Sw;agPP>)9s2Nrcg-Y#D&)qW3@JmN^4(#W_j=dK zG+Cxm%a78dJ)>7!-_jvfNLl~k=C=p{Z-9Dv~s{p_Z5g zGFmUbj5L0&(batOvSpI#(qj?XOSkN;V~{|jn?eJDmPhKE8x)zNG7YTT{BtK>Z}O_D z&ow+K=O(zjVDbt7PxL5-&?ML$7ddS3zr1Ad*EYVdCL(Ab4=`IbzBV3t$^n_m1Z|CT z7u#=EHK>U=`GxfwgDiMrip#WUu#XK1Yr(xLb*a&l>vu;Q|A znev5#2ETLd*|Q;LLUuW0QMbzMe)A4w(&{U46n+r8J;o!CgAup$MO`fEPGl!h4S(<*=3~T zXue8-&FEd8{Y7Nfx#kjBZ;KK*ORYFvMU|Dca zWonvrKnU;>;78SDHw>*n_~7K6qmVmU_`XL={(SXzK^`z;!n0^Hfd(_xB;Gg2vtHxIPCwe;&{EX9evxEhyfOms7^(0Ti7g4Z&(9x6k(!cX zAA~-J<>sz1d+s0*2wejMdTCi6o}Qlr2@ZS$0w)KZ8JP(Q7L5TXBF0LVYU5=dW2FYv zTVI0c>FLLyrpPrJkw1VTVP(o$+BjQnt5JcVbXP6?qM~|auQ8mBIClw8IywrIrTd}1 z-ZbSzmk{$2w4CyFOj^fjouBX)gsTc06kxcs>8MH(Rob1dZ<1tpmh_|F1M!d!BGkiE z0*_==aq0{2&`&s9~`)#0iFjU(#PMQZ}8>VGDv@(Kx6RSbVYul8rUjGF|M z$;wWMd#-8L?|1V!^-G^P?wb^-rCRG5dnL-MEj}Xx+*3=j5}k2X_^?WJu=^*f6?&XDt_zk&!aD#GPkqpDMiE$a(jrn6hKaE@Tt6_Qdgb z;h(1=9!-~)8*drYxt2#E;2Lc6Y3KO;^>1nOAHnEwL@pE4(gJn5H7*{`c-qnnn z*sE@UJbu-3+q-Cym<07j(yPDXq--Nf$ohLZ5gF~sBiN8(X6GU&VBvL+r=lGx|ksfF|>;rr_uMW zdBiwTQh&5L*K1$Q!{^g$-(&jOW|Sr`DI>#T(!kDocBm}3Hr1==`E(kO| zZYu;op;)z2O5WWX7hSC$q7d}-{Bcc5v6l)3&$V0CPKborg3Mrhm&T){SZ2wwIxiIM zyVF&i#hWIelrl4P_63O)N3@dtR`~NeCRA5Y>SV@a>&?B4-K8S?$>uPEt>t9X<9J5r z+LnB^)Rl-Zr_Y+7uPiI_*Dm0rTPTAElGuN^$Kl6?U{I!8$I~t~Z>aBefWN~j5!sCq>mrwGLU-%&BwSyNubF#fLTUW~XGmv+;PEJk+`*LI1XXRQH3=mXje`=5Falu!i0JDA!_$<1Vl>L4Vkmt^(gk^ zxg6$+-$ctzubRQh#w%?h^*c@V7|c$HDDdSky9_MRos17YydCiKz0&6E+i~S5^C9zs zf`W$9IE#_GnG-KlIWse(o5|QuJq9sGL34s-I5Rw|Jxe1fB)3LkMyTGZE*TD!kYr)U-5jz}EKoNFT6K*WU%Wk88nH3TLLtEL-FcKDho3vLZk3`{d z4qUU$J~M;RS}~86=cz(AaYefc`y4ppE?A%DlmBiD$yVm&ML`Ho7cQsiEVLHfW@_CA zixPWIe}2%oz}ycI#QEiEzt!}dPFVIRb21;ux**LxI#ZQDWoN=NK9)thLy-k%RCiao zHw&0l9mycZ^f!8`A4THBE=mL+8giV55>V_Cm4`1?^mD`WX5QjlOhJ0!Jp8AMXL?-$ zwT6^iOsLI+D2S>_z&4_wpX;kh6g+YA#ocF=WmhD?-8Y9<@4=HQL-(igO$gJibGtsBJEM ziW{C0hz!N$_ z9^0Rr@tQPDP(pKkHCMD)b%Ez4tghPMG%!bax~$B4!*oWMg)=zsA;ZV`vGJ`mq(b&| zfxxs9$li)Mo`wzzgtJzExOicYJza`FaVSB>oUEj}Oxa`x!6Vh~A&mHcF9546Z=Us; z--2S3K+Z+fSTbkjvp5H6*c8u zE6YgCmoFTq7s}>{75q>>dQb^h@u!hUI+L{sSJGJ`wXhDK`Ji!!lHLrdtrn@!pE{W4{FO^FzsC58+Db&tbV%=6)1W%C{5IPbGr@)=fc@9 z4r-c?_)OVUGwfSnm%CB2Z;1gkG9zO0@D3l(5bVXO>~w$dan(W|S7BaxMr(Y9+T^Xt zPW~OnfQE{#g*uw=WZY6BB2oBnDu=nV13*47q)fsApnlC;>Xj4lPcJ4)2o7?#?pC8S?yo{{@!K@m0&A zTxFSS#X*Kip!vax{)&BV0HazG67(Z@m8~4aqls$x2(jh2&BS@!-ONa=+~4JEuEyz0;<5(lno`>wC$#2=6L@HZZ6%_}0V z0iTgUOfg=}^3POS+H>M0x_8i9E+MF7iQvUZx$7N$&EJ-dRUtD~(nPd8R&FA>Q6tjn)- zrkkCT2j7K)AWsqxn@$>c&d}o(zSS}Ob>I54Pqb7CHBv=-)nzfBmrRmT`(lQ8I_wXD zx+C_Pq^IjJU7~d90Ppl3zn#XD3t^sy!qEJ1Yx^kH;MyWh-2sUYimqx-eiZI%#m|cZ zbcmm|$N_V7%(Tx6N+5OiG1(C+smM#r4rWy;^F@#ekXg|7JkX(Q8;6ln!r`P}iYKNf zZ8EpoUX^Xp9gceyM=!BrcS%fvS{|szOxcj&fjor_$!h$pAKr;Ijzn?2}Q;)h*Es-6)Gt%$W z)}eI*zF*Zn6bm`DNDRn51BaH(Xf-$Xpb}c@$aOQck!mDe0i=ugYN4JaZ!|m%URd)^c~t?-zZ~{!xIII-~5Q0t*?>wxj5a!8jSYe#IIinCkxE0H9MPj30z{7 zsUMtq!pAImO9|MY5xC!Fd-qB96Fxr4-pH}={7|#64!^MUgUJ2xVviQFGQTmKA2^J2*do{% zZ)e9}|1%{C*w^2G(nHPjA%`iZHM+b0{wG>qa4Go1k)IZkBrskF*gBDaEq-6X-XH22 zLQ2eiSlIu}rt)>;HnfUa$6+MEXQQa#Jp1OFHdu*B2PMkKShl09d4JOfiB7-VTod}z zocUIVS1nVok))-v(a_%@@f>GDFVCW*`L^gJk?uzR^KH&xL*S{-EggA%##-PQa17Ck-vuu%uysgxODQcZ9f z8Em;8mOh(f)=1-Mvz%?ew*h};G;W4|S1Ty7 zs|6|a<9{1BZy@5CY1nUUI+Mj!?b|CnjmJSXJ3n&ss#50uBrM_q(h5CS}adyeNKYHyTh@H zJlJaRCIN*Q8v}M&hcv$^`g6D)X{qq|O&M*;(}jqflWa5>KmT#INNkR)v7>`+*Ytuf z#w@Fnx417qKg(P}jlF!LJJL`>_j7W#Le#lj^0u-X5N|Y2?8g=4Th|2$&AodX8JqDz z*t1nEqAVm_TxVTCq~ObP3=Qw_Y0FW=*-EO6TyeBp3vA5*O2Z43FP+E_!p*BqSEp5^ z;D_3$ceR>oGGPhX4fqhuIzv6*zaM66^6eQRi=s`hV}~n##l=2nI9P(IdaLtUD|?jf zqJW@fXsX41f^Tb;WcFe;&7*HmJkKnXTfdmkv`K1Wl)azX5Kq&`2u*DevOWvt^|Zo7 z2ckC{`;ERzl=(Gv=t5kxp_&MTE{PM%6sz|sub~|Jw0-X8k82#E0nBf7K+YzyL1I36 zk;Tz`UBGj)$l@74MOrr?Nv{^)&+wpg{8tM6fVJRT4E9rukQ0SDO=MrWhU^{EHX^ka zSbqh}ffvtyxY9a1nCkKC>H zbe(Ss3OX@UHU@%+bFy`16^1o4^N(?0Yo+)Kj-ELi$n4P4tjNya&7F&2L*?}AW6FyJ zW$Y_fKf!8ZqN?h4nMy%+HOBh$258WjrdFZ0H#Z2HfmzCdCA`P_uu zj%OPs&~tF?B@S?ZVkv%G=%6VqFI*NkspGyFt(+R2WTrI@Q>TqmYXs({mCX;LCa zv0+=8hI-y_m6>%c0B5r=NDBpr6?z`??B1H*Sk1DCw+p}p^D;KM;kKmI#VVOi$Zkc< zB4x;HZx=h{+SPR5oJALFd;u|GE-Smm*SO4~fz+f~+0J5)NVr=bXj@dchnDYtWwj2U zDazeXnFec5bFHMPNUdXoyu=%bF zsBAL#GA@pG!@9MRi=KuqwkAEGx|V288lddm$JdkEV=jo|m$m!TDWs$dHNp;Lia% zwMyVHpe~KR8t{!`ad&Bc3vJ>=viwR+))%AL?2 zOO@YZ2Pa60C}b~OC2?VFPzwj&8AxCMR--DI&beXlX+8EFg>kPYO)s+Zn|)~6F%dy2 zv!?KTkb0&A7nE!#M+6-XD&^EisJQVNq`+a8O84wqp1LxtCi9mKOBUw(e5KJF;d-98 zVQ1MH2m2KZ;658^!y_>`@?$kPu{$fi_?+u|!I*xtX3$6a7k!+zq;HGrQVn;T2=U~A zCU1@Rfjgu0Hff6`m%XW?0=K@X^|vq~u}9FLT7g?nfY)dS(!|^>Ji$FUXWgtv`nF7> z09(fj)YY-AfRzauR3A?CsMth;%;xF%l)3v+4$C%hB}_ zC3bjqbv11)y(ei0KOf)GYI1Ti`sZ%0@`vZ9#LVMq3?NkcxBzo%W~Pe@vje#&CTmSe zN?$|j({10eF9t}^DA|JC+$Rx!6`j>1u4Y*%Er)Lk#4URh2N6!pdhcGKCP@-0 zPNp0LOe?idCh3y}C?M%Jzok2C{`jPyi|W!^pJ_<#y$rd(RH;3th$_EJ33yx;2{F+)bGe-%D*oQcg2BrsO(8QwZ>t81Tp!3kmpwMh)*|H z!Nltuw>NRI+R;w(3ea{BRXrho^H_2{_d{vOB^GOV=vO<%r^l#MqV3hXK3p&j)H4RV zATjWh8Qipxu}7~kmMZ*#xdWsCr)w*9sT-2+KcD>~P#ljpC%xl%Eb@1fWhlvLd3PiG z!@yL{oQp2q>4sw&E7y^j$S8D${-9<=wB?zle$I~+xln5&D>j6J{saK&+YJ#G-n z9MzM}$_PtzrUzq|4lfS+(ZwMu8a!^Ld7g}~k{E%i( za?&efE-gV^%>}H-D=FCb+TUKBK*STPS#gx2M}ZsD@8vAmeh6(f>X$lr%k|w0M>V5) zUlVH`i7!74KFnb~lLKuoNN!bs_(iQ&$zs+uWOB08UZoVTbDTk(aWL?>sAzYtz(P*PO#cn8kgbi9 z{ysI)*`IoiBMz|hgR$+|eHRWscv@r7v61JXVz3#|`C2h&x3=>XT{WA{%?65$h?Dzb zkasJ;cqIRR8U~>DskS&IORL}*R-Jh+G8T?tl*}l^u1Xt)bpmR|;03 z6<%Ovh)QM*Uhy@v+c-ErZ*TO;2}>2Q)lx8{gspTuPJYK+~!3MJEQ>Ar0QN$xaHXrN@jC-Zpf*Wc6<|86VwUPhNq5e=P7a zPS@14j`vT0V=eQ6unGgm$P9N|NKM8=#@vWj4=r6M!O4oM$c?t_%DnRzqwpb|-W_Ca zEk>~(D-bRbhe-oF1J2hAFqAL5dp4r<6Hi7wo2Vv80UJ_80NJyj)RzjmUfP z#~jJ$6==oh1i zjWWeNic^`}V7Uok61M*cwJ5YyX)$&0;ynHlBXI68-f7sKc7%Omn_>*@*?_6FwY9c!kfQvN9mMp(Glvd}KD%v$lR_15Lm61Mg+{ky zVgEq30;3ULWyK!wmI{z!ywqSxh!>a9P%$#1!zktJYFY58*3^SX@(Z_HcgdsCk2QmV z-N}zU1=P}~hb;a4{P=5hW*qT&mi0YnaZ?U+@Vq6_QD~LH=ICn8vB{iEO5IQEcsrmr zI3xVAO>f4)bCO2c?wi6VK~8o^>wJe}SE;uQDY@(V4hlByewjU;9&5ww6B|TFpkLDo|Lb z`%04oO?5V-#N#Qb=|!9}sOEDnMmO?-dt8 zSB4a(RU9&Lc@6mqN%Ef_+^WZVXpc{fJd7Ql+3QH!iIs*P2ML=F0fE$`;XzoUkl)MQ z2ot+UIsNaI8 z2H|GUnqJxuXeh5TdrxGmi)o;u9QY1!F1{ZJF9ZElh)(Z5|FobGDxrsmSWwbR1i;n5{b9{ggHHwS~%b!3Qp@R{zn_5Zgj2Rx9$#@^i0F2iF}%yx4nkSn`2IkPJ>Un8#eiK@8b4MuB=F=Do|CEGQ|h9caDPsZG%b7H^*%cV-z-*djd z=DZo`Y@x28B_Z#|+rOST32^KZ1;Q6?Gw!Wz`V7x*__p6|ueuHMID{U5SipY;JFx9z zn3mzO%0YwcuUPc7g)pq4UiKRLL(XBe<^mF2n3be}l8DkYHfZp3OtFmO!P$Uf>Vi&;@o5u`iA zmMTHUu?O8D{(GL{uh*Tfm0KkR)HSC=+g7og61kaMbN9a1MLHzoLxM7Y=)D*C@i+w1 zl*K6GsJ!j>%rI7M5`qNh7Ssk2Uc&cwh-%`0zuEY1t_=#!l8z%tF( z)fC>!N+Ou^d&Zjj=)o+p^+>Hs=ncBznEqvZgGE=h3HuqQbzM8j!z;L@T9fk`vkvbS zoMp*>UvaL>W%-4@w>+O})fg9Qk6@U-!vQODF+hj^b44}U); z(u{{@!gBvg>e*Cl+2M8*)~W01udG)WfUAeT050(m`kZcvajKJod2;w^E>K@3w^fhe z?MtIu14Kl?L5)Qj>G38C{P1m9Yq;UIC>11@{HZ-}z4ZsRjbsa@tp@{eRI=sl(D2Np zxvXUXo6z0gBdPzvfR)2YnQ$uuj%V6DXvV&b(z)KPeE%ZgQB5TT1gascUJ$%JdV`0T zt3pHX=j49EYnpp`bt$3dCElv%uQ*2eHwzvutQh5lhxjjJ??0O8>2^ZPd=@D+HSKw( z{7_X(Omh_QoABi?Wpbja-DoZPSMs?Nvqg#2&cBn-Ytje!PsYLcp)IrM=wSYug4O75 zQl9(#HC~Zl;n}&ZDka7=a&)UPwOXO6*H9nQ?da+4Xw^ww;z;V= zWvODd*r3W|&_KyE-k!aifle~4g zEGK+YJd^)eZt3PKV`sQ?A>WPUmk@O?twHdpL&yDzOhDK1$e_mQ&5V(Hw*j^ z>;r#{$43&_!)gLMnK!gh%B+h~ld!GE&C2`-~$-}zK|`% z{ImK~J(8N~N@T@rLV%_4#M3{h?>a6S?XjDHta!h*hN-gG_)i)^j!ho78i|^)_t76Yh%4>dp#U=}VS2JZvABRR!mHN-&#ylk z{=;_Ez{3yS8?oa3vxcO)BL{dOKkz)_-yQN>#J&{K6+nmfhl<}r3;oxp{S7+&7l`~V_5c5mK%{IZ74S5 zNA_-|4$aL2EjL#n5%x1>dh#2=vl)o45CW-a{bHdl!gl+1?~w5;HgWMH?NxmE(TO9d z=`tmSp`^I@81Zgs$X&ZHU+Ltzs>()#c+$!o6vArmxJ@A**Q|S|+;vc}erY=@rQtT` z2PkqyPwn`Pv>0kue5}UBW!m{?`NV9mbI9=-NBt_cb8{%B5B@MmNo49Wb{)6yMx#M< zwH7~uF6i>wwDZWW1X{8uMk!y$B_^5ICDGCb;SKqnMIT{Lt`^qzb%b;DY$lnDOV{7C zH(Zg=>c!{QPfRIRa@vL3YQHJ#nKzTJsz>kIr;=N{QrtdrO8CDm_HA`z{X0lOgpLknfr|Ce$74@4w^n|Kdl6rnYQW=N+PivUkVyORpH0z9) zsdL#$B-gI-pdNcr*o!%>TF|)+{5}{pkxilose%^K;c^jigLT6*^^v*H@NL@` z_f{nqk*_9!%Y3rPxU;-)lHL^ovioYulc@5Ih*jc!dxCGHzN2=UVBZm=l<~Dpz!~`n`It`8<@yVD7IdP zJgiJ!E)&cLF6;N!1NBKX2shx(5a3@Kq0w)$NSt*$QQ((LULgocHgZjhowp-l^$ghm zoE*5C?!)AOY}mIzO1sL*B7;t|(dcmvX>=v!Wzp2a*VT|tez6lzQ|X=cRg(&GM$!%S zvG$V2<6Apzfgy-(UG&n24O0oz;6_)L?~Z+#8b|bnx9<7H#aJ zu&g;a@$371&u}o`0#tX=W6Sz`i~bjQ!cc&Y+eKiR7$m6fNZL6feIRdh_TlWe0_lq+m9LPklbMm2z^ zcQvMlk7t5x$RZzmsn0r(xJn*WFI_YZI)i!`E|-okCrVFbaQ_-~ro5t=gt}l;v?We< z#dTf-cquqD)aWyZer>9y52T1V##CttN1{hOWszrXvG8w^07?lnR^-m|cmX;9F+ju= zQ5;$fIPG+B+3P&}J@U_s2sdFn8&aTAQvX5kiX$ifxg$y_BVp9b!pnG7r6z&$YE76N z2O%xaB#>4TEz0&5mCwph`_w2E$hef~LSgI?BqIJ?hFW@yNY0+7>O`J#eP@%VAVHU~ z9Vn?EpHqr<59yAi8)bmcv69G1j>eXD&0#tBUgL4cbMzi%e_7ScHcS1sj?G$y<>!??m$InyTysTprf{ud~~!EDI;;2p1KB7#}#`X8=TxRu>TFcQ}6Q#ms2l@ z`aIhf9itkq?e|+Gcvvs~@^T_>4dY#wD~^fy>&{$ed;~MnC8!yeU&g`2E$>RTzL}+b zHaT-8xEbmLWs>cfnz^`35K2ZTP&JLkj3(64udgQ^{a@_8XH=7Iw>641MMZ3Yf`AQB z5KwvtMT*jtDqW>_qy-2Gpa_p5MG=r1PzZ?}xz>_-NEQ+n#;TqRBy+r8=MO$q;69e&J~Ex* z7~Sah>TWM;o!>(XRy|2~eUef?jkHZ~LaBvq%qow3ftCmun2_4WxlHy)TAB~pX^#vB z#7Zs}f4g#|^@&2=pJdPqISY%+>*nXL%by+>VcD4&b8Z&>9q<2bF^9i|HsH7Fm-*Is zl?&-yozFp&VEP=;S;KKD3-XpA@AVG;t=?n*AqA@s`X1=+Yjqd-`&2@Jm&Ruz?D|s{ zKMWUS?dS_ISbue~$Ygjry_jux+vob(%9k&%VuL#?q3G=XIqOgw=(8?`6=FrXWTI`I zo?ic>C}M=`=y=3`9h?6XAZnEre`I{F(nr2IR@8@LRT8d>J$MJo>!`03MOayjGK!ra zM~Oj7o?<`b)#@&-*0`k@K&kzyG=W(f_2B2lqTHHN6#ibla(VLU>43wp%V!Y+5J{u~ zY|-|{8ORbMejMkGKo9U?!)PxxX$yln0VU@RVEfR_7Af3*E46TJeB;?G2>pF~^xl%3 zb2G0}MwxA*JBP|aAD1ozdc}mOsioEE=oDBD!ol1H^YVti92Ya9O7yg`{xkddPgnIH z7p^YMmCg8680z;`ni(VF^YhHn@r;J;wdAlVXJaA53VxL;k3}UvkM<}=rTxe+x6U8e zjOLfmhV|1!->Yo)>B>S2`1EG)vaFxy4_%!|p>tB;Ts8cWUNVDG=nf^a3FvyH#@e zNPBborcinnju}5D)*i0}U?|nUzLMAH@F(-~px%d_Q?jn#yu|xb+`SRhEGuJ`k=@Li zXd?QHHV7NGHNCsI1EL}b4OmqE!&d_>8)-?&NfSpXhNV)rei8=qi#|<6q~SQutGRs_ z3-T5fzgda44Qpx`k&pY23;mz}QZG1tnPL3qG^;pc1YG#^sZp`TBEfJ8v`pX(K}n(4Z+&trXZ;4Im&{;37dWywi)ciN9z^v12K6uV3>W7q+V zh@g}!S!im$hE%$^N;&&o_p(=OwH=Bx>ow2b^N zF-nQ!i^N1^4~zTF8OeHOADAj4^hb-(QJ2N+4zy7_g!h8`ZieAn7Db?1S3(h6hx3Xo zvr6%vYI5GkyShCwmDV$OuzRIF|DbmM3GIMAIVsiE)wM`$#o&+dW8H%YQ}->8L14qp zBm73NQR?QDcVS686SC6+>t`c84b&s*k|Qzazn0)azCuF2e{nsGS}atn6FD&kKlub{ zxS=R4tTcXz87NNE`NKLOz;PhT_R~hLM$|?D{q}!eF#q&!tL!ax1|MGNc0&NOVoYn{ z84bWz+TzM|@c8Q2>SkfATe6@fN&4MUL53r0_8*1wS~JvuOs8#TsnCB(^GXI~^97H8>@aXt z`@?kuTuRN|89R`QgUIkujY=T4p$-50m@h}n z28OK}n$y2Gf(G0w?A!xekx6pbjp)>IEDO;+9pD0Pb4*J{NcUHGLXd zu*vWg5|T7>iI7aU`RY>SIsW9Sf=V?W0*x>~`ORbQ`SW1VB(!%#IWmZ~IWfo1Sqo+Cb-q}cg?V~=T9+2h6s|VzV zL_|c^knyVS0t4wpjkt$n{L+pe_(BF9Vzg5S6uJBUtRc_u>sHKZ?K-3J#XOH8+Y&ad zAnO%9G(@fBU07JC^V#(6^|eR`(5>_ne|G>4mRZ-1Wpe%IzgEe;3@rM7x9lo=LKYk- z4})S-%6;}>(gKPmPQqv3d`iZTR{QFRdD@j*6Z|xo4$$nPZoxCD;*_5zRtO<;iY$4@jPQceex-2m0dg*yJ}~sA-rmfUR<=uDlsV}YbXd=E^#gI z9BEzgMiN=blaOZ0hSu7f0y}@ZNk`d`pBrY~b%Htt5NK$b-4|U}FA5DRrw`}m=YA5o(80=}cDQVuVkTal*%7-*_8~*! zCw?m$5aIP_Ohy&RDYDyDVeGc1rU`G|N8Bzy?&M>U?=iMP7~TD59tj%6wBoC z1cE^&>{=(wDY>s1k3Eb7mx04H2325xjy&Cuk|&Lid&vS&seEu;ibnHSFDYJEgj#2+ zhEzh^wSKEI_&%xU;;ZO7gu9kfNm#&4v!m>PlLDjk&G zOxiA3tkFa4Na?Ti6>YZA4&vv-8qAau28c z>vGDW%>ol-6&ZhmRP-|EL(N_A614%^Fk=%~PR)iYhUNU${0#i;LQGE_4&~vtBkr1> z$-M#yR>H85>GGyc*zQ5PlqFb%`e%V5!aySXxz%xc(NlE1gbLa~ZQ%j{0c)*@L6>>5 z!2l`+RIO1a301mMU|U0h6;2hg2IvAs=iZL=x8SRk6Uh_3;!S%^`O1bsD|^Z|&Z`!X z@i2k_!Pe%3hI4XpO|-|Wp-cNOn;*J&%|xgcnm>MQQ9uV^Ud6|G2W&6ry%^6P&Z1+f zWRhvqLna&^}n0~e~mHvmywzjq&2&e-46dpx~1jP1q^pGm%k>ht>8Z?FT z{P~FoodPSzQz5uhN8`aLxCD02T-#Q$uNQEXvROdLc*zVU*JzxYM4NAeiLc^A z7j>3GSGF`QEzQxH85t(dpUeyTH!c?G+Kk^m*7oo6$?j@Ry}s#*02O$HXKgRkCyun9 zG*@4b_4-O(B+ESk)Ev5H*vB%X@|ABy*fS-lJs27Ged9`9H|HHNw#-4KJtNDCOT%g* z`Jvf+nT6b+2PC|`1}lji2h~=hKNeIorI)ZXpvcuSCTzE556!^_+oO!w{b42lJp(?5 zpGTh%_EYj3+?=Wp>t6c0`AtbS9v>R@)}1;SbL+m@P1|b`50?vRIs>(Hr{B0zDlvfb zYHSyd45P*f96XHVarX3T5iqdJvZ4jxxHRx5O2$MB3JgibkxRchgeA?~b4wL`;7r|b z3wFjJI1EUx&jsI(ngl$0V=Km_r;&a02#c+A*lje8yoHx_AES7c?O`0N=@2v(N-v)S zRb7jhAKy(^9;&$>po_&;Pgh3^K&lML#)hh>*OuhsYIr3#aey|+AGW1XpG&%A$7xLe z>lEn7G#~QLSe(kDj?!K$RqO}E&AZ%yTd5t8O-?UKAjjaMsRM<3Pk_^rz{9514 zs5S^ll0I7FFOM?}9I?*(-U$mraY@*^ZL3lyAxp!6B24gD+r>^?#Hn@%PB|8s#TKEq z)#%^W!84E3kxz5Po>X)lk9q4s8T#S@29@EI4{j^{s-Qa)#anYlkn(W?PoH(?H8nLU z-T!v^{*Tss9`BG-QxR`pzrB0oW#r}I%dxpN{vf%vs#dxR(KlMDRw<^sR~%{wb6ng- zz`)MQOS4M~WoK=8K)qvxtp&7NS9hYY%93%DSwI7Ij8|o(ZTk9X0IO0K%J8lIs$DLW zPqk;VdZKDHXl=UM{5ZGB4H^9=d{0tOuZ(%^oxAvNM-1`AAHDOPN07|cTs?Y-FcpEX zO3THRU4aCs6Fr7z>jX1gn(RqkDtz!I#Mcjv_mIJ4D?L5(_xns;hmlwAhvTa_eif(o z7bq>ukGj!`V#A+pF&NO7?z65h;3|~e-Yrh|HO2Lc4Ac#q;!m0IFc)1Lf^2cBK*84( zl!TKALCmVs5+@|@W(Ie_>^LQK=l_D8%cuBZE;ZSdII%mfGZNoIcxAn0=ro(wbF>l8 zk=zINC*rA!q3;kvWg=fEOpgCF7d|Y&yK1%pS3Thtp;%^5?GW1yDA)(>+BA_dhFJ4{t|Z?R)|gk5r*=0f!{A^kG-0K+Ch1Y&?rKIyHE& z>rC)mnQb7ibJn(H(Y<|Urf_Fe#(VVi;iH!2ZA5kIQoxU%(a&lcQL!I7gwBr=n+BL@ z_clFzX#K>ncPYX!i2iP>UB~*1K4u@eR1;e6%@I%R92h()4o4p9>9l=IqL;pp=7*Ri zi(Ac3=Pj#}o@|m-u%*JVr8hcTsw+rNg%5oOnRH6 z8dkO`9ZHD#esfqN)(g?*t>W}g`Og39Wu$mEi-rF!%jR#iJ+GBWN{x*dtcBZ>(OHru zqROd%t*J3HP=uM)I_Qj4K$t$ySmhDT{u2uWDOOycUP|Wa+3NV+Ytbknaf%rYg6f2q z3tsm~?-fivib+3}+oI9_cD>TwJmdXhCS&Y1?O!j$TY4KmB_khCRP}tnDdo8QSLJTO zz5QWX-UaYUoM*cN-z{dHJ&6k6x9kkGfEKxcc%>$cS>yT$`YjmKN%@P7ZB--Xyv9f+ zYOpFJquzfj@6~zvS~3YCrtK3ZC{o9 zL)$(UNi7t|$@LPiv36KJd(=B;3!1ZmMtoDJpus~e?fQ~#;|#o!Cu`zRBbTSH#jAO1 zWVDUF@rD{%JBN0TIL@l(N722S@OM*hySm+ruIrUKt>p3D<)ZY4dpAEP=ddhy(}yS< zSm>hZ3VkGj8I*(Mn>Bi#puHbY{lCSebgZ#=g;v>p2VxK+bN6R845#9Uo@ zi)#Ls&kjE&=CbH7SSy91&qiL&3~p@UdV(iS$JE`+mQu?xFM|f@Q_Oq=nv$y^o#Lqq z&N+Q))va6xP58Qbv7mD|md*168o|IQaSAp5!PbO1)#2Ox#e9|(o{P#JHTShUbw))NGDm|nTXml< zl~27nPH&J~hZ4WYK3UAF$9@El?oa6r_SE-eff0Mt?!9PU@0Bw~djk{kth1IiD{G@; zV;1>vOqBf34On$%6o(y@pyE7CG&SDNiK1u3*7nSh37U*}m@{3IZyQdU@20}fP`!VxFopv>ze`N;G z(vUL#NEno+uQRK*bZLiFE2nns$(3QmDdHc%{g)>`-m?8J{_~#odXA@O*d0E_Os-bT zCwkabw=3cWr^kmEUL27m2R9R#?KC$|sX zDRA8D+LTR{H=rm<1FI>(gD8|A&jH}7pPFp@2{{me-$FL z(0Ix-fRmLG$_NYF&%`NbZVpl44{D2(2vxFWR$X#-PzP-PLHXg3uw6)h$aZ6G zM<23JB96tDGWy2cF63cHJpZi|i+Ug7s&sXrt2d!Gj>dS=UWDV|lxNw&w_f5Nstzp| zy1`N9+5X(3)<2oKIDd>xiO8y}Xi?hRsfJTU=#Kqqnl04glv0b$6b}n>{mwe6?j|Mu zhr6-o(m`*+8Qbj)wlaePG*QVGI{U!lHu&Y*WR*3PQft==-b8_6dtO3nR7vY;%7zqj z|4r)q^XSyU&2~s1K`F4O6Sljlw59^W3Hjy6zlSK9O*qd~$K!Ubw6W_3G`}ckX!@8K z!LM-O`8_oVC3I~96>Qv7@GvjR2^WHResg&0yoA}4IxpfXFnI&5{g zDAT!V*VA$wKSH8iAQ!M7gYLN6De&>)*LqsUiXTt-EA&YqPYKw=tu+4n(rNHsK;QJf z%C**;7h4})ty259+ekJkuFNJ+ z3teBVDoMNKm-(BQK5-Ns0*YtvH~P0|S=M^ESrOc7Rh$oH-AdVyvK}8_RZJ31N^ypT ze6O*EbWL1uLl3m9;p^jA%T|Au&!*Z{-M@3w6IB`OO2zXtL208|CE)4t%|xomYLd9= zy(rpNrttmrZe~Bb;LV#OaY`}G+q8o9e$Q|NEMHTnc;YUR`kEf>mR%88wwh(?jcAD3 zk5NCf5=13r1s^QNf5B%W4B@vWl)p$8SHXlbB<&Bc0_f&X2}^L=?|-lb4p%Dm;45w(pwjp$kR8y zTXr*+Otu#Luhmcf)C5{di`sZ2I;HGzp|nxZaHFY|k_6=77~FZtT@&_39R}~@Zy0bd zo3;zZ%aonVRIEuEPz&xnXDwk~S95Z2R(AzM;7?WbOm?R7DS^6M@3uE*aSYs>{-=ZS zzj_(Ow#T(O{2C2%lW^?|+vd9U-n0abCCRh~hQ(Xm_tREfUkyZrjupW44y4v`?zQ7j z@X4`+n(BcXgP}W3nulTX*zd?>am1sx(&zh(&vP^5J8*v9`cb08!!@oF8es>KFv*g<-t`l?U+bhaye(zMm4_P+Yf7beFi6D|<3?2F4m7ibO~(3S6L#i#$WD1G*=+@^d}&+e@p593dFG{fa~yUVd` zX+gsJhv;W00s(jL-~2TwPbyIJ0p**m|1>)O6w>A{*i_Y z^IB3Nt(9#3hRR>Sa>2y1l(l9k)6w2JLz`p$t9_0!`KdLaBTd#=dK>_nA#hVXe=|{h z0!a@yDWCX>@}mV&NZj)+;AV{%jUFpoNyA$`D3sf-X-SpqZP7tM?=fG9roC$BawVxy zUoXA`Ao>{m*EE2i9)4jB$TU@kTLxF#&ecI@zY=&;bhJhqu@_&la**9`9v(`?_neDY zSuXuWI#@m@(bWoz4(X@Z&ky9^bM_o)j^&lp&D8Q#9y!Q=@g?Lp@PY@UB3Wtt%ljXt zTacf+=j+C*|6WxW%&0Ek=FBXU#Y7Pesv7u}7U?z+R>J#g#CFS;-~wOqSdK0?0G zGVAFo%7RlZ*4O2Cb>QtmVFQSMn%IfTz7CwPgU=h$d*!pXn&gk7#>TN|%6JkF`3aQ7BLlIPjm zZw}ilJ4;{PL}!fiFPmp6Hz4^_4#fRK30Okl9bjUJ_vB-AcliN1JNM#My=5}$lvSs?aS(eYLd2(F3c=4tR z5t+GR=hhf}bH}aL;or|PraLUX}hmA1@*DR@g9vwa_#mceY z?@fwB*OAkg`t~*u=8kmKsIA)i2F!MD`OdkFQ9?=GslcPe$rH67W&!`)Dgc27>?+3H zv%Ej)aoeId-QWR}=RnheiQwTDn5umox_PDg(273o(flg*lzIK8yM*!!UuzK@B6eD! zOmFW;0WpN-+7zA{3_Fj$xb_5f2!JQnbLIZ=fu5Eu?DUn8e!W5z=+={(?;x}05ri5U zzE&`Ld&<5aLxRq#QQxr~r>_JGzUAh`nYCgh55B)i1bV>m|Gm~dbCub5v5z0Hr!>V# z9%%^8f0$*)pvSJE5yJMGzN09;@#)c?A$p_-y1%t}YJAr`NAcXLS6)qN)%!sw zmvTJ)wNDWw@*Z-622SlGydRZd#n9kyk93pE6KHDe@44-QwX=d}*|Et1(}&2pDRLu; zcj1%JsLhvj*Ir(n#GH^&>#`Cpt$xsbEb@UdBHw+i&DY5L9;UtgAG01}r ztW&MYZwc67bFiPp$lFLuYQM@N%I>t{@HH;`NqifE{6< zkI4f&pfb8uR>-R0a608#D%-PY#X65EaZAXM%8u>6S>{j5f|4Srxd)Vt_K$IjMdSxO zAHwNU7w`OuofCK@I`7nf^@IvK4V1dGNNbjic3(IaX`F4^D+Dcb{f)Z!T?cPlAe?MI zbC@qu`5AF=$rB-7FQ#WC@16 z(38BIzLfQN`qBt!Z5n}=5>*uHkT5A+x`-PbC}(Z0u}qf=T*nZaYvI^>;!fJw!`Ezr zo9?MIv*Rxk5p_yF8wux8=ed1))5*Vd1%*cgLNZGS?i=wLi!Kqc^*Fzpl|@w-*XLAQ zc4;p0EsmcAHJ{sq#YdJ{ifQD&L=Ir&8nis)b)IgL&opajnOVP@UZXRd?#J(A@AQZ1 z>$}W_3>TQACXVGgM5NdS4ewYC5I}F&H|%i4qdi{?n=j9G7;YAeFVznrGjbws;TUFK z7&j2!2HL!gqVFV#nw2NJD^7_h1+H%?F|oJr$4vs0XHi>eV%dp=upT;g9Rp(T_YQrl`7eeo{z5A7XbyqR=6GW4G#U_twk$QFD484Vla{;%bBgVm!uUn% zr}x9p-!#<#k~p3U=bv8?xr62_{Dx5?hOL@=N(`#X9HLhal)l&h!nJA8j^iMrTCwl0(`+}=8REJOjX2*-3xfG#P{ zhe2ELk&>Av=!>|@#MMu7*6223g^B>!AnGKqV1Z$0NV3?IuTRR6MNQ5as#bep&O1Xj zN{4stQWo^5cNWS=%^Y<+V!fzZ&#v03|5sKGk%`5IYWDmOy-BCzfhy}DpC^&(54j4> zYOD0pchZ%q_Xomfuj2fO+n#Dgwgs>C(j=!qL&&u0T6e=iLTx{>@EMZ>{@_QI%euqL z6y6i*H@X@DM^fLTRSh~bcGJe*^rg;W<_^Ss`v3ZCW8DoZqKK*f$%pZCa_ast5zM{QEA_asAE6Bvt`+)$L#hDtT;wbgVdjJR4gi&YOxm{y~8V0D(Y!jzoE3l zqyqcE_(MdO``keZ`fFJYBEMwM%*kI?Bmsxq%Bt=Qp8EQtdWY`%7jRfxNqgS{)W@x~ zCB6IFcE`e3n`0155tAAA8-M6HiM$FFO`jJWyL|ZbLN6Zlf_%{g zxlV9Cj~PA$uTn?#Y8DlG{w(`;x>xyZ(HnbcQb+9S#D?wWbItj&^ro(^94d8J)n&s+ zA$0y;$ynjqV<;YIk~r+0MSKSku8{s7yjx<%HEffUoKV+o@;Y@3EW+BB13? zFV}7y-p?+6Gx6mRt}s}~)(MG`~+~6kwtC~|>A&a3z?b&Z^ z^$xT>fG7si`_6Gt`u&{d`&Ov8Ui%I(nNoUF+rermTJRsXB)G>36w?=<$6rZ!$#V7T z@Ppn({rPsXZPGf(`q&ZHlBa=Sa`Zf~{hu{_ep&{M>>wrI*U~!R`=Uh>*&5z9-0QbP zgdm)4%QF;|iJ5ZI=UnVA@q#l2SJb)^&j(rnJpKwFe$mp*$!!FQ)ns<(yfruCpZ z2K2l=s())F`Gf-x=+f*0kVpNK0GfW;@JCfE1lTqGM*i` zJ+|HGhxQtvs6YD}W(FtS;@EMbL+Ot)l?pj;6n+i;QLNsyl~!-xDGpyb+}{e)U+PWA zx`(uV`vJg&i}2u8FuBf*2oR5eBcg7Mo^pKW^`lN^+MG(;-k;1+ViwAf^)Z=@I! z;D$cUzN}!sxYppiyJj(DRvpoyb?$>T@>wGKDtl&wHp$J@Vff?9x2Rg2eXJ1rP` zFJ8`R?K)f&Qz!dqdB{EQwD3QOVW{sV;}UDz(ehdk@DE`TiZGF}4;Qk86%e&6$OZTFR0z{wr0SzVm;9 zM9s*@f#lOF5V22iHlO}ET>O$94>o7JM8gVf+AbwL`*OHDk^5K$9$aQ6vz?|Ixb{^q z{SMYW3;cY(uyXwYr6qVo%XT|W#&rfDvF%!ivvLEecW}(7L2EnZBICO~$*5ly%|br{ zg#4cauq#51BMI9?-Z`8k4y5FPXic{O3Z-;J& zI{$=QVL{12K;|}`MWp>iZ-cHwl1Sl?j$>~VyfzDdWd^dY4n&;1s5tBnVZY;+)D@|<*q8d9 z98y~~U$YX?o~w51!diW=s8#(&dgq_QkILUoM?^agj#)pCU}bL>om*K^rXJ$A){i27 zOlg@fxi3^Y+XiVIgklYa5n4$PX`XrrGoA0>12W6&Jj18bn-4Ky$vre~vU+WQYPsr!=w1U2VA{!WJKP8tiw1oR1>zDx&c5T_R+olK^Ww@bXgBD|Eye>K4SA2lx9KG6U##=bXw^$#)8^jk3OF1*J@>I07j= z+imT4m##^)Y{j9KGnb*A{m|`Cf8r?zHtTgWK*Y$)&|T9i1zK^Xn9UTQlIsOza`A)f znEIxBth5csW-Jj?t1W`wDPJS+;w8Eu$ch?8ykr*1F%207N#*}-x*)>jN`?CXv^z!Ec`(kS z=+{;G2h1;zWvGD7cGr|{uxu@ys?zF7*JrrBFm(=fEP|P3tPFRUXBl@%#fxU6*7?H&`k*d{Wkc}UQueV! zr3lG9-JVbHU*(22NWQ_mFINls-pbq__6D=Ep9FNX7p1mPtZgAHMG11~09epkL^d8s zhChfpbzrcHF5~p)!?DIzt$Rw6s72uWw9AFZ5Hkh2AZ9@ zT)+4Py{p;n;nXMUr%h#@nT0MXf;7Tm-e*Hi|nTUS6biy=ZI(a2g z`%P5xy^9yGN<~(sp%pQ{*>bP2JUxE7Thl#Z>z*>q z^3Der8df?`>l3!b64SC4s zn5H_+6VhQklFj1d)@YR>%D8##lB)0hI#29PbO1tkmw=UceVi-7jum=MGv@qT2#OPBS2-)~jdO=CJLn7IE<%(nEe zkGCFMOWz2pw8!r91;Rqgmr$8fPOmjzInjkm17>EfOaNqU3cfA{XN%wzk0n|N} zbHdlPcW>NuT5qVs#`Puash1IJrT!k`=bn#v6&;89EH_alRGy&!P$3M(6rs+j9iMr+ zKYzaO#fq#IFwH!wzX>udaq}E5Vtv;x^-^aYODNxBT6>dQ=W&h z$Vk0}>e@RL8thllv%Qr2x54=LO1SKJ!bM#qnvKpU?|)xf{)hTynG?%Wr2|!}BSm6| z1?wgZdi{n1OMhIo(<*pY-tnbzwBBgVtyC#CLb$|`{!9h^p*ohvul8a%iY}Qy?3T>T zKp(x<+VN+|8918{K`b?V8}Gk#3JNXOIP{#q$@BT`Upm6BBg3C|kQ9^LNl`WMZt3@q ztTXKJEai)07bSC33Oy{092eBIQyH?awTb?{J?r1`y7kA_mGLJE0V0?hW>v9DXH?fj z^^&-onn$F%(eYgUbgiqyd5K+JJ0I@Y=jO)$rPI?6R4=kI2%V5R`gc+5KX1Lu&5S=W zC*i{2Kdy!OUow;h^RfST-^R?)j_;oSZ|aWz^Kbj#75zF~faulzt?%x?_OWAdKq%S> zsgnEK9K`?rrr);u51K%SysF!Nr~kE&eG>)9cXQU-ztqZ(MBd#g9$$i~ zd61a>ztrZGA;RZGZrAbf6(BBNeZ2*S0$=eFm?ZnKqw8c=u;y{jgc>J=&pZ9}`fgq# zM0}e|{DBV$OcqFhEOx3m^`%MJcNiw!ICt3tm)`(B^M`W5zu#${vk~Vlj@7Jc{?!@g}w~$uc}C)w$9@NJf2-@b*#)OLmfv8AHLqoQ;8n*BVfHN{MQG~c;pHRsRO+KS{$8ZoE3{+n)Z`yR`cEY6nZ#8{%v6~ zDhQNueS%B|#&2kf`t`wZ}h#YsKE{m%c|+B{OPUR=&lIC=nN zuN^Ik(}H=rob_l^q(Q(6X#yk({pH`V66Nl=-y;)9E3;7w5h0isS=*YGSx9uo!78?g zHFFbLVv-*MPQJY0!~-u_IFU?HyCFbYcV~*ke0WkqX^3720Tv3Qs{4=k?FQCAd%mgF z+$^x8-AF7zCD)auKR{iY$SW+m|21euEl>@U_Jrw;Vi{Ib)6tLkf&9k+=pXKpAhz7q z*pPdW{@|Flf@-{4alvrzy`E3o@9_+c(&%iLhjwLr7H zUQ66scsMcEjy%aH26$zXd-4T0npt$$RNZMY+gmDJBmdIfOes(=KE>dcKm>wg^X|7V zP!Ql*Q=EIt6`O0i9rfE#ihT}x>)K9f54Y1SVFKJ)XbZ76+%9T zPLZ9158pR=HsJu&jdh&zTD>k)Y+6H{3d=QwO&e%wIVHH6ij4aWV-q+{O=Ac0jO z76c+ph{p2#OuqX11P10YQPnkg#$NxjPdz(BzKQ^svhVy8oxb&OTfjy%XL(pYbr~6- zdW)~zOYBDsXB}lo9hUVHf+4Iu7%%!%O*l{j+4tN)6MOBs1r`-j8`J4(?x42>}!xm20n$YknF?C)50? zuZ|9+4J=-~X(oMdxPWZO?*c1w&4QwVWUpA8@feY*j4N$etCWq;d#Y{(UnA-Ct_JsJ zouL+eJSFIPd{I_NPff6dSI zMD9Hzv)I{QR650{`n*MnL-+kvmVMZf&==y*4_ezaeD{2; zYnPv}rwurm*_=A*oAi4DXwkkk7s4%CkPsDDIMT+F04>Wq2 ze*OzxBaZl2TwF4r5?LpdvN09q`gig6t9*nBAA<+TQHnQ{S+qw*I*)P(|kTmZ3C@zi({2DhAT}P*`Vk3;o+%$j3YrPC*QeK1 z11x@k6bFNESzi!SV^~I))ZmR>|pkH_^6SwtKRfFj)LX{%k z)*D1CI{GSV=9!i>g|(9+OuQ)8ISH zbuj4uEA}U9p~#+a1Sk5}61#~O!@daH2XUgq+Db@_z& z??+5(CI;RNqY*E!>t-q1m+R5|lACw*47*b#;sHz{aZjCYn;(XJ>upl}NQ?h#fmLY9 zA>I)MAy2)haR}Nd)+Tl=hOs_)U{7qJ?vmR{nOHD2a}*MXBAza*np(lgu50d6^Tn_W z+p5%sD3tjFsco|N-zLqkXQ~$;V^Ew5g_Ib%vSdaRkyDWz9YOaXJhrX?*s1ZH>MO2w zvBa5#DLgM`L{+z)$t+5G$d8|}sdDJ{Ko5n5dx9MOF3P<~d&jS&xs@K~9}nkwM+|mA zeSGlSr0jCK5^yOm)N%^|)g0>%C6A~Ghu5XnwJ81qpBzTt&N6iBsyp{LqeeI@$*l`E zLYFi>?wubbwl7cUz*N79N>@!p@^!qU8}p38 z9j$_u3Ub@#KProu-&$gGUYlqdh%DsBUamEJj3~FqehgjBusVKr5SJsUd!D3pjeS(= z^j8x`v2@vl;v~_aQ}mIU_r855W&TIQtF;|Tw+vV1%xgWL6+h=XQ+B!J*&>iM>6XyY zjxie=p$A9)y;g7i?)N<%E4LV}=`Z8iH~?1s70YL$n3~thj+j_Y$KF-W&%gx3Ot#9J zYPIP2OG)qEzqdW2>|F37r!C+2z~7^F0Tn`Qq19}U;cM@2Ufr6|hKKYw)w*jB33#p) zJmUdv3?M$&MU4za?jpUorlTJ}?dVGk^foPaNLc8#cfgN5x#?!PEwm&LJuC$tK!xkw z&_zA#-r2&!8lxJWtt{=Y#qpQoX? zufbbxF%RshqG%S7-mkHl24u8FsVHa1S4DxA73#KDR1@@2aU`#tcT#hM-w)pBfx888 zmaV1D40sl(x`Q;o!j0o(m!PmR%qht^!+?pzAH=YM<3vl(Q9SRbz%gv4UwzrT;wVtyT)^sBhd4p z$z>|)#8Ro4j$zh2*@57@_&T$W^i_sA(Vn=fPCOuWPnoO zVWcOl>>1^0*(c*+1loNtFdr}L@xF91?9vURui?u$v5eUkSx?jEiO`M`^RlNR$L)?$ zl<>A|?l)j1nN7Q0w%aH1IGKkjx14Cg%yi;dbv}*)_%RP__RDXWRuxiFY0MK z_AWa6Lm8IX!&z(TZyHQ_CDBhNJVY`)y|MI}?1J63*##@d?@x0`{{jb2;hW&yDr%F& z+JFjLoKk>@<-;VAMe^jz=DmHJFL*wMkUlf&7_Q&|@|o+Rl+$Uum`CjXu)oXV8GQ+- zBTp4{l-yn_rO)u)db(t7RFUwe+L}p)jnHl(cL&bH#U@?zeEfqW{gYW+uZQkKTv)}) z8usneI;G*=+}%4Dh4nAr%AA~(NpG$QMHVpz88uGv$onUaQ==PcJxO=A^l{gG2{IP* z@pn4)8AQB#ySk*e#;+;l>ZSJ98+~Gp{9oXGqawN_vWPLjo1A_w>5LuLh z6QKhQkJ=7pPtRlPf_A>%tP^Z*Tz#|+IFV&dpSojLdN(;B;)`NWu8O70By<})gT*U9 zvK6arwes=1+sxpDZW0l!YLrlN^|I8=I}eNME)~$!d{NM{wN?LWlEW;nm*56RY<${B zu^Ten&KXF8!b3Ov8F-%updQ1DqGL-~r84heP11Qiiu)A?GHDQPEM(x5jGe8tShS3K z-nEZJQD<06uX|w>&+QT72{Ne7)YA$>Y}vysu=@3+UTd<+eJ1Z5=_`Ifov6n>MJ{b^ zYOn7`;_d|pl0ISeFHlAX!ZsT7$HaJ*3eJt0Q)%?wXglSB?Db~H>Zq)W;6kLk^dPxX zVF_>n1*71V`!wsCpx115T!|F$_u3$i(bnp7e`h&Qc*yb%mamg{I^|c54D;t4M)q`< zJoSHIIw#L}Me2bD80*v_lY0+^_qPiYC;SY$#pIl&+P>t*t)i##eW$r|E|f{P1~_7cbV3SgUMfM z*Va$CmVaRTRU@27cErtCE|uZA#kpk5N;jJffSeESV`O(*Afseq-5fI9Ve@m9{|^yt zAavQ=exV%eRngmF@X2jpq9H5#CXWtW?Ju9{-`LR>qpwT=FLdgPI+`9Y`~i>^$mE9$Xm=Zb>c z`n1rm&pNlRueAVZVcezglPz7N}@C zzA!Nw*u_KJMhH=-&aCIa&QNLb(n)u`<=QrYtbO<11F89e6+aJ7ORB-i1yHP+KJ{06 z#4h=b>h@@fNkSPGgdsjwi2_GHpRtAg9VyN=0~G0$4b)T^S*&i$xPmJ+W#gy(j^p*) zo|e|5Ra&vXMA~FLKLGhmB`3=x+PbxF@4KOSj=lLQP3!MYbbgc~ZZGINGlf?>!Ky}& zBvKq-*mE71F) zz|Q7oWd~w-WR)x@X}az2BKm)^_uheQul?V+DjizYR#CgE+NxExw;I*jqo@^1Z82)k zaFiYtZPngwtr#(5i@k~31TjkNAXdcqecbo=+~4~?&vQ=Q&)>iQ5|K}?>w2&2{d%u{ zBw@RJs6DCB`02p4%}QO#!nNybikpY&L!-z10Fa^TArp98$k097GFQD9oNGI55#`^`p6gJ+7HMDD@wKL`@?Kk;63km9A$o8uG5~`4DTwCll#xvs zU?J&=?_5_O=RYh{%%$`I8n}Ft!LQZ!ows%@!uXbtxfPsxa&5!A2JncBv@{$e+7dcqPcc34ws48RpzBxJRMilmh2 zt}$qI7a<7cJ@I2G_~p*$ZBNL2kJ=lcR6K>qM6qh`U~KSFZBOE`Q2H=@mwU0cADV!U zFN}tF0OPxR`;ZmYvnhNh=$hcI%4I(SIh+wJK>4me9nG_%yt3+fC3X}`dvvJ6iv)T> zMv8m9&ocK|>Tj8k7LttlcAsS7gE|71w8IlSqJDMg8OMqBV!2Lu1vGQqMi2EH52)(N zy-*}#9gCk3Lzf@a8r9m!BX`r2!Y;_V8cr5OANdVozX07kSZI|CbriCZ1D|Q^qOz{l_W`DRcdZgHu*5QxIP6#*V^#TtsO!Wz#$*ksoZ%}OG^Q)c!1%k}(#>7%lXjckXm+z_ z216ZueC_n)ucJA%`ne@Mx4s;fcqQj^3V4h%!xQ4U0c#D7CkoSH9H^gNE~A%kdOqJ3 zQ#vDx>7$DqAZiDyDwFkg1&pdn-%gO+H8V3)DeKhw8ht5Ipa66EWJ!@!Ia?#ps|qBn zKt2F>jj#?s*u7}1I2T+7eqOTbNg)w&q107hR&pHlb}yxNSF$Si#_|&h3{bP?-6&C& zAADJ$!gJNiuwD^4DFS)mlC!eZ=Q!*}`Aj*V73O&j_p^7&^?*)phf%dp0fXs`Z;~`1 zP%sqdE?M4Xn@Te9S)E7`A!?bbD_Euuf3_mAd? z!TG52U(eD`6S$Q(^LjEeLcLdhWXOLi@xDnO6_J2pL4%s*yMtBxCkO|Z3RLNeOFo?w zVPtQH&hss%82w&9f4BXUnP$10K#o=8g6d;XBxNU-?uaqxTOHnaiOGw6oya8n!n*Iq zFG@iI1|I<-t+FYRUiyIRB-GrYf&m<#@=>N47*?7_%c`Y*^Gtz_9OwHFWA49`AT?&& zRh~ANOx_pgm~W@mo$Tdns_BT~%Fi*OdZVyTr8Pq^s-B%FD|?-m{`3+fa4(OM%#6;u zkmh3L&tp4W(dp?Hyb@V@|1nKLI+v|jGVJSj!l3_@W#-qk;Ms!5YgD+z>jn=onGNA5 zJFDEX5PHk=@^p_vKXl(=gw<&R1!uNuy19x=`)hlbcZc>Uz#*Rd8yaE;=T(5}eiv2$ zUiWzKgAdlJ3|7KaLoJYMqjH9mcH;nHL0{qYmPaπ9lmLnR7wzq$r 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 Z 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 z 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 DBm$o# literal 0 HcmV?d00001 From 7b78f4fc2f65f4dbf951b780a6c099fe6fc80890 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Mon, 3 Jun 2024 21:53:07 -0700 Subject: [PATCH 2/2] docs - spend tracking with litellm --- docs/my-website/docs/proxy/cost_tracking.md | 63 +++++++++++++-------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/docs/my-website/docs/proxy/cost_tracking.md b/docs/my-website/docs/proxy/cost_tracking.md index f2d456febb5..de1a63a4c32 100644 --- a/docs/my-website/docs/proxy/cost_tracking.md +++ b/docs/my-website/docs/proxy/cost_tracking.md @@ -8,16 +8,12 @@ Track spend for keys, users, and teams across 100+ LLMs. ### How to Track Spend with LiteLLM +**Step 1** + 👉 [Setup LiteLLM with a Database](https://docs.litellm.ai/docs/proxy/deploy) -That's it, that's all you need to do for basic LLM spend tracking -### What spend gets tracked - -For the Request below LiteLLM will **automatically** track spend for -- Virtual Key = `sk-1234` -- Customer = `palantir` -- Tags = `jobID:214590dsff09fds`, `taskName:run_page_classification` +**Step2** Send `/chat/completions` request @@ -31,9 +27,8 @@ client = openai.OpenAI( base_url="http://0.0.0.0:4000" ) -# request sent to model set on litellm proxy, `litellm --model` response = client.chat.completions.create( - model="gpt-3.5-turbo", + model="llama3", messages = [ { "role": "user", @@ -61,7 +56,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer sk-1234' \ --data '{ - "model": "gpt-3.5-turbo", + "model": "llama3", "messages": [ { "role": "user", @@ -91,7 +86,7 @@ os.environ["OPENAI_API_KEY"] = "sk-1234" chat = ChatOpenAI( openai_api_base="http://0.0.0.0:4000", - model = "gpt-3.5-turbo", + model = "llama3", user="palantir", extra_body={ "metadata": { @@ -116,25 +111,45 @@ print(response) -## View Spend on LiteLLM Admin UI +**Step3 - Verify Spend Tracked** +That's IT. Now Verify your spend was tracked -Navigate to the `Usage` Tab on the LiteLLM UI (found on `https://your-proxy-endpoint/ui`) +The following spend gets tracked in Table `LiteLLM_SpendLogs` + +```json +{ + "api_key": "fe6b0cab4ff5a5a8df823196cc8a450*****", # Hash of API Key used + "user": "default_user", # Internal User (LiteLLM_UserTable) that owns `api_key=sk-1234`. + "team_id": "e8d1460f-846c-45d7-9b43-55f3cc52ac32", # Team (LiteLLM_TeamTable) that owns `api_key=sk-1234` + "request_tags": ["jobID:214590dsff09fds", "taskName:run_page_classification"],# Tags sent in request + "end_user": "palantir", # Customer - the `user` sent in the request + "model_group": "llama3", # "model" passed to LiteLLM + "api_base": "https://api.groq.com/openai/v1/", # "api_base" of model used by LiteLLM + "spend": 0.000002, # Spend in $ + "total_tokens": 100, + "completion_tokens": 80, + "prompt_tokens": 20, + +} +``` + +Navigate to the Usage Tab on the LiteLLM UI (found on https://your-proxy-endpoint/ui) and verify you see spend tracked under `Usage` ## API Endpoints to get Spend -### Getting Spend Reports - To Charge Other Teams, API Keys +#### Getting Spend Reports - To Charge Other Teams, API Keys Use the `/global/spend/report` endpoint to get daily spend per team, with a breakdown of spend per API Key, Model -#### Example Request +##### Example Request ```shell curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end_date=2024-06-30' \ -H 'Authorization: Bearer sk-1234' ``` -#### Example Response +##### Example Response @@ -243,7 +258,7 @@ Output from script -### Allowing Non-Proxy Admins to access `/spend` endpoints +#### Allowing Non-Proxy Admins to access `/spend` endpoints Use this when you want non-proxy admins to access `/spend` endpoints @@ -253,7 +268,7 @@ Schedule a [meeting with us to get your Enterprise License](https://calendly.com ::: -#### Create Key +##### Create Key Create Key with with `permissions={"get_spend_routes": true}` ```shell curl --location 'http://0.0.0.0:4000/key/generate' \ @@ -264,7 +279,7 @@ curl --location 'http://0.0.0.0:4000/key/generate' \ }' ``` -#### Use generated key on `/spend` endpoints +##### Use generated key on `/spend` endpoints Access spend Routes with newly generate keys ```shell @@ -274,14 +289,14 @@ curl -X GET 'http://localhost:4000/global/spend/report?start_date=2024-04-01&end -### Reset Team, API Key Spend - MASTER KEY ONLY +#### Reset Team, API Key Spend - MASTER KEY ONLY Use `/global/spend/reset` if you want to: - Reset the Spend for all API Keys, Teams. The `spend` for ALL Teams and Keys in `LiteLLM_TeamTable` and `LiteLLM_VerificationToken` will be set to `spend=0` - LiteLLM will maintain all the logs in `LiteLLMSpendLogs` for Auditing Purposes -#### Request +##### Request Only the `LITELLM_MASTER_KEY` you set can access this route ```shell curl -X POST \ @@ -290,7 +305,7 @@ curl -X POST \ -H 'Content-Type: application/json' ``` -#### Expected Responses +##### Expected Responses ```shell {"message":"Spend for all API Keys and Teams reset successfully","status":"success"} @@ -303,7 +318,7 @@ curl -X POST \ Set base model for cost tracking azure image-gen call -### Image Generation +#### Image Generation ```yaml model_list: @@ -318,7 +333,7 @@ model_list: mode: image_generation ``` -### Chat Completions / Embeddings +#### Chat Completions / Embeddings **Problem**: Azure returns `gpt-4` in the response when `azure/gpt-4-1106-preview` is used. This leads to inaccurate cost tracking