From 5dce82de211d393124df93c1c02e344ead01c3d6 Mon Sep 17 00:00:00 2001 From: Gremlinspeak <34112226+zamzx@users.noreply.github.com> Date: Fri, 11 Oct 2024 18:04:47 -0400 Subject: [PATCH] Add files via upload --- Fixes4Carlton.txt | 42 ++++++++++ app.py | 178 ++++++++++++++++++++++++++++++++++++++++++- fxhp ollama joke.png | Bin 0 -> 67914 bytes 3 files changed, 217 insertions(+), 3 deletions(-) create mode 100644 Fixes4Carlton.txt create mode 100644 fxhp ollama joke.png diff --git a/Fixes4Carlton.txt b/Fixes4Carlton.txt new file mode 100644 index 0000000..c6b685c --- /dev/null +++ b/Fixes4Carlton.txt @@ -0,0 +1,42 @@ +# I'm hardmoding linux so I've only done a hard-reset once +# (when I switched from an AMD card to nvidia) + +# I'm pretty sure my everything is borked so- +# Running these commands after every reboot makes it work. +# don't question it, I'm not a neckbeard, I'm a linux enjoyer. + +# Didn't use the install scripts cause, yeah. + +### THE COMMANDS BELOW + +#Openai error - You don't need a valid API key to run, it just complains + +export OPENAI_API_KEY=balls + + +pip uninstall -y httpcore +pip install httpx==0.24.1 + +#additionally, I have multiple python packages so I have to specify - +#python3.10 app.py + + +# if you do not have s3, use --local-activities like : +# python3.10 'app.py' --local-activities +# +# +# +# +# To add new ollama models, open app.py and duplicate the following : + + if "ollama/thewindmom/hermes-3-llama-3.1-8b" in data["message"]: + gevent.spawn( + chat_ollama, + data["username"], + room.name, + model_name="thewindmom/hermes-3-llama-3.1-8b", + ) +# remember it's python so don't f up the tabs. +# change the model name after ollama/modelnamehere and the variable +# model_name="changethistoo" + diff --git a/app.py b/app.py index aa1a16a..7ed72bf 100644 --- a/app.py +++ b/app.py @@ -34,6 +34,8 @@ from groq import Groq from mistralai import Mistral from openai import OpenAI +import ollama + app = Flask(__name__) app.config["SECRET_KEY"] = "your_secret_key" @@ -96,7 +98,7 @@ HELP_MESSAGE = """ - `/s3 load [s3_file_path]`: Load a file from S3. - `/s3 save [s3_key_path]`: Save the most recent code block from the chatroom to S3. - `/title new`: Generates a new title which reflects conversation content for the current chatroom using gpt-4. -- `/cancel`: Cancel the most recent chat completion from streaming into the chatroom. +- `/cancel`: Cancel the most recent chat completion from stllmsreaming into the chatroom. - `/help`: Display this help message. **Available Models:** @@ -457,7 +459,7 @@ def on_join(data): message_count = len(previous_messages) if room.title is None and message_count >= 6: - room.title = gpt_generate_room_title(previous_messages) + room.title = ollama_generate_room_title(previous_messages) db.session.add(room) db.session.commit() socketio.emit("update_room_title", {"title": room.title}, room=room.name) @@ -586,6 +588,7 @@ def handle_message(data): or "localhost/" in data["message"] or "vllm/" in data["message"] or "groq/" in data["message"] + or "ollama/" in data["message"] ): # Emit a temporary message indicating that the llm is processing emit( @@ -770,6 +773,22 @@ def handle_message(data): room.name, model_name="openhermes-2.5-mistral-7b.Q6_K.gguf", ) + if "localhost/thewindmom/hermes-3-llama-3.1-8b" in data["message"]: + gevent.spawn( + chat_llama, + data["username"], + room.name, + model_name="thewindmom/hermes-3-llama-3.1-8b", + ) + + if "ollama/thewindmom/hermes-3-llama-3.1-8b" in data["message"]: + gevent.spawn( + chat_ollama, + data["username"], + room.name, + model_name="thewindmom/hermes-3-llama-3.1-8b", + ) + @socketio.on("delete_message") @@ -975,7 +994,7 @@ def chat_claude( socketio.emit("delete_processing_message", msg_id, room=room.name) -def get_openai_client_and_model(model_name="NousResearch/Hermes-3-Llama-3.1-8B"): +def get_openai_client_and_model(model_name="thewindmom/hermes-3-llama-3.1-8b"): vllm_endpoint = os.environ.get("VLLM_ENDPOINT") vllm_api_key = os.environ.get("VLLM_API_KEY", "not-needed") @@ -989,6 +1008,7 @@ def get_openai_client_and_model(model_name="NousResearch/Hermes-3-Llama-3.1-8B") return openai_client, model_name + def chat_gpt(username, room_name, model_name="gpt-4o-mini"): openai_client, model_name = get_openai_client_and_model(model_name) @@ -1547,6 +1567,117 @@ def chat_llama(username, room_name, model_name="mistral-7b-instruct-v0.2.Q3_K_L. socketio.emit("delete_processing_message", msg_id, room=room.name) + +def chat_ollama(username, room_name, model_name="thewindmom/hermes-3-llama-3.1-8b"): + import llama_cpp + + # https://llama-cpp-python.readthedocs.io/en/latest/api-reference/ + #model = llama_cpp.Llama(model_name, n_gpu_layers=-1, n_ctx=32000) + + limit = 15 + with app.app_context(): + room = get_room(room_name) + last_messages = ( + Message.query.filter_by(room_id=room.id) + .order_by(Message.id.desc()) + .limit(limit) + .all() + ) + + chat_history = [ + { + "role": "system" if msg.username in system_users else "user", + "content": f"{msg.username}: {msg.content}", + } + for msg in reversed(last_messages) + if not msg.is_base64_image() + ] + + buffer = "" # Content buffer for accumulating the chunks + + # save empty message, we need the ID when we chunk the response. + with app.app_context(): + new_message = Message(username=model_name, content=buffer, room_id=room.id) + db.session.add(new_message) + db.session.commit() + msg_id = new_message.id + + first_chunk = True + + + try: + chunks = ollama.chat(model=model_name, + messages=chat_history, + stream=True, + ) + except Exception as e: + with app.app_context(): + message_content = f"LLama Error: {e}" + new_message = ( + db.session.query(Message).filter(Message.id == msg_id).one_or_none() + ) + if new_message: + new_message.content = message_content + new_message.count_tokens() + db.session.add(new_message) + db.session.commit() + socketio.emit( + "chat_message", + { + "id": msg_id, + "username": model_name, + "content": message_content, + }, + room=room_name, + ) + socketio.emit("delete_processing_message", msg_id, room=room.name) + # exit early to avoid clobbering the error message. + return None + + for chunk in chunks: + # Check if there has been a cancellation request, break if there is. + if cancellation_requests.get(msg_id): + del cancellation_requests[msg_id] + break + + print(chunk) + content = chunk["message"]["content"] + + if content: + buffer += content # Accumulate content + + if first_chunk: + socketio.emit( + "message_chunk", + { + "id": msg_id, + "content": f"**{username} ({model_name}):**\n\n{content}", + }, + room=room.name, + ) + first_chunk = False + else: + socketio.emit( + "message_chunk", + {"id": msg_id, "content": content}, + room=room.name, + ) + socketio.sleep(0) # Force immediate handling + + # Save the entire completion to the database + with app.app_context(): + new_message = ( + db.session.query(Message).filter(Message.id == msg_id).one_or_none() + ) + if new_message: + new_message.content = buffer + new_message.count_tokens() + db.session.add(new_message) + db.session.commit() + + socketio.emit("delete_processing_message", msg_id, room=room.name) + + def gpt_generate_room_title(messages): """ Generate a title for the room based on a list of messages. @@ -1579,6 +1710,46 @@ def gpt_generate_room_title(messages): title = response.choices[0].message.content return title.replace('"', "") + + +############################################################ C WUZ HERE +def ollama_generate_room_title(messages): + """ + Generate a title for the room based on a list of messages. + """ + #openai_client, model_name = get_openai_client_and_model() + model_name = 'thewindmom/hermes-3-llama-3.1-8b' + chat_history = [ + { + "role": "system" if msg.username in system_users else "user", + "content": f"{msg.username}: {msg.content}", + } + for msg in reversed(messages) + if not msg.is_base64_image() + ] + + chat_history.append( + { + "role": "system", + "content": "return a short title for the title bar of this conversation. Reply with the title only", + } + ) + + # Interaction with LLM to generate summary + # For example, using OpenAI's GPT model + response = ollama.chat( + messages=chat_history, + model=model_name, # or any appropriate model + #max_tokens=20, + ) + + print(response) + content = response["message"]["content"] + title = content.strip().replace('"', "") + + return title + +############################################################################# def generate_new_title(room_name, username): @@ -2928,6 +3099,7 @@ if __name__ == "__main__": "--local-activities", action="store_true", help="Use local activity files instead of S3", + ) args = parser.parse_args() diff --git a/fxhp ollama joke.png b/fxhp ollama joke.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3b6fc544f611bc6992177c1d820a6212201088 GIT binary patch literal 67914 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%0Atyqsc~f z_aml2@N|^1a~fG32p0C`gf`JSYzKToIN3o`ru;^nscQLZCNfAh7+iISzpwlK#H0JuLANum*hnjT)+?x_A`Or!B@)Kgt=DxQpGpB9Iv`?E_X%ZjS) zigrxY&=6TM?0@a}u4Qisg$8Ub({x$N*+`I}w4z#r)`a3G{`U5Km4CgoW8yW>?NnA_ zv?AGM1c&x0-&@zU_pOA`NSw}P<~0!qq+cPtNdwS%wnrkL>YXrD7_-E&G2O5k)}nWF z{9SC*U9R*fe)ddcYoK4)99KKrl+U}jqjwXM0EzGSq>2`>dD;5Sg@Ty=FbQ7<9kmC!82S|uJIrH;?k=;PecU6fsKK94x2su_U$trSrHz-?>9{I zy1F_L*~Z?WK)vr4Sz6&+&*a>!T>(YUZYO(gu5yCE3T@5XSz9YRDVG>VXt;DcD^$#E zTIoM{h3#PIneKCs4bQvG=k=op4_Xbr886g3$Y@UGx~_02F!yx1HH@#b#A2uCGl&q4@!ov0H2ycCT~I|MT8$>GcW z!q#T+M^*pqgWpssY_fB%E!gJpy_%rP?ZUwMYcHCN+{o@ zHi4{))>!exxsHDQH^*tOY6v{NXhWv)aB;Q@@eF_G7E_fd%VYvNh}_*Oq8?hBf25HQ;lF<2d;oCK1CYEEnNP{nn$!LsaGEHz{&9$j zaD=abQX(7z!5PQ!3^5^$YUT}fwKyV0{gu-9+!+mtHqJ5b#2&z%0dPBFk}hHmadW!- zXi*p%kuA#rG}_}8MD~Te%Ps%#L9mW*UbZw(BwX_^KINyy@|8`{)5XNbd^uWC- zqo5Uvs4%0L^)qAS91KgWdk0@x%+1pUo<k_kaVCWJa& zL}@^rmZyv{9;EF03*`>Bv_C}lD45<|?1;K)I${GMMp#JOz~ouQ1u6qB|u+B6$0CCx=3@mLEUvCX!cq_DNjc-#0xJ5K!HN%n(L@ z=ruzYHxBO(f+wTrMT9TPL>L40+N^f)O=Ru}UalUs%Lc3?;yxnmW&U%Boae&0hjkgq z_r1l|LTPVcU~mhHK<>AZ{RyGB_d@=91l>`(= z7oqBUG>{uJyM!e^T6eLthsEcXjBrQjNY9nsq{W7C$XqTZt3e$`JF{Y zeh+tFx27_%KYJaK=o&)7gp5j{+8@xjDv!U(FAx#@Nmdr{KnIa+cop4~l^s5EWGKfK zAfRAGxFR8h0`m)jcm;=J_?1E|$)h4#VPfl^?qk4nYjZ5^xi{0Ay66=dZnx^n`jYvwp%R zcATwMhYs~Es2ZiI6g_;{LABh3i2@7>UZOVATW1!6pb<;S5Rq4pIT}9PrMlN!(5_Ma zKamwFAaLpHk~v1DM$h#De@7y%63o`JqI1SsHi1TakNH+K|7y}=<{cbZ->hG-xXV@? z59{-iON<3oiMCKtW&{q=#JcOUa;$E$%Nk3(P8UTuC{nZ-qo5uPFyhQX!qN{AxjR=h zD!}OEJnSE$n{c8b6klCj0Yj#KzptHY^xk{ce;LBv+KWVjv0-}=`5JS3MHXiA#f#D6 zy0IYL=P4k0^SW}UU-1l@6EU!B0gp_#ypfVGU8}L~j&yVO`LM=hY2_h)Stv=l&!0Wp z&p7q!zpsUIJdbgo7aJxzGgOZMx4bT};*nZo1=O*yS(II`t6oZ`Ko6gO@m0*(Ax6)X z3pb2hAg0MMAj!AXcmIhKCg=->!i{TAoH!EbOAJ%{079C+(P&#juq9YRr=1mDJ zs6L{bS7kc8VU)wnqTw+EjFnYww|{L1KenIZ0uRvQ*xmj&8}zfZe1dvsJat&iwXX!T zd##Y!N6G)+S^$N;At63tn$iSmP=v$Tk-pI`ZI+r%>Y zTVbdeIAY4p5p&K&Vi%D4X$aK)W^qckwl6zR{|5&J&KEQoV@MbZFfQKaiW=;zw%d&x z6V#1L(xT735%eSb?aDv?n9svK$+|%u)3a0(^91Vc15*VN?~Y8qeEAeFM=pNrK>xJS zzfn;m_k`d-CSU&_)Q0LAVCJ$C$g$o&Vnw&ru4!K^rE9%W`_x8ce)0N@)@a$h?*sdf z(c~+d7DZte`yB1tY6B>ao^Wn-riw>RjC#zxIl31KScr=))I9vLkd{cS5BxLvv~ImHr>rl*k5GxaR3PtoyEDtZ(t4=;H;=CbBZb-fEa8 zP4*Yl=g~3x9j}A`T>b3%bAj5&XWVaYp0qBZ6o`7ci_4fLKF5z7=|bX`mB&MLRN1Y1-M;Uaok2YAkb($iBg8|(s0OKygILPhQm9zkaxuQR?^T)eMK8$e z@J6oqV>mL{y{B!j?}1E41O>9*dMGH^oLXIV-rsy-Q|pLUbtwuw6A{KO`bdhO zEv|d+#J4Ik_w-Ed+Aq{+-S~f;C5Y}5l(ygd|DhRd)<6e%+4makrIG9ZB~+pg(xwq3PAy4_u+l3p zn`x-0xGz5H#t#faw;z5y(UhDYZ=DuDDI+x~Q$yM1H&fLCt0G$Y73_DYQRFfTV@=x- zk)Aj8C9++vRz+#mSssb$bi`9yZrirCkqA7B_i3S{d&VeZMVn*gcNR>Iq(>KeG@VFo z1Vl1wiSbWj;?rkd@%hz3$Z=>0O)0u0wi>b^dBZ6HUxOSMDrU8Wk-LMH zwimSQ9b!r1rw*t)j9f+rBrRd8OkICssqRr)F2IMRss09tQCR=^8s6Bh?8q6SiMs_b zDq_z5$%qG!?)m5n37Hs5e@`+OwKZTv8Ji-2(AUM8+d=g&(d*#7sf$ZNJ`LaIwr_`RyX9}_&< zQFzz{wt{r%?5Fkd?Y5+*p8A(;aBl8-x@}8yt%v)OeOhek*b++qoiN680g+_86)JYy z_J|u2lQMgGq92#Jf@>&WoWU~MNs%i;H`x5rzhFpQAqEr6$lT>A>|MIG7vdx)=5>4t z?G~81Z_pd$(TNv>`g;7A>oU2r^j%ezYO%?pT7)OE%`~m4eH7J;)AZi(?+qocsi}{v zkAkvb1POpjDI74b7G-Xh(CjnoMgncniZfc^b4YsA>j@!)J8Xxb9v?42yfizSs)N@> zM0zg%1F}w*h!!BkCwXLbXwH!jc0z>h+Z(XN=_`R6o4k zWz4?yoF*Z10CK-3!miCtxcV*MVa|rx&wxC7`EjNEIRTP3xvf{W2d*_8R#Eg!Y{ayusk!7f4#!Y zw`7?o;fKF3j6|7&GmCm*+Tv8cOLJ*7_dASGFO^SdPG+e^w2`m?HCXyr8OBA2i)xIz zavY8@udTg1w>y9kZ*eI~xg4op7s)MHW46Kd6*)u1++^Mk;r<AB~ELe8tQoP*FH} zJbhjG!eXMrvF-ih69QuJr!o4Ir$0N+V#QrwS>a1&za^cLG}><6tZ#0g%v{=T*OsWQ zwV&Oz>$1#QhE#AO|Ai3%8L}8r0M949fe=CB3s)Qnl=?5*rRu6sl?5*~^2GMm$ZkYz z0#Q1^W$E=HPoFICc!3|8&SiF(C6k-@g`7wuWJ)mJAm{RKbY}yXZbdcxg;jZ{q{QY~ zV&GZhm;#N)u**RLqvay9&OC+m84{5VMm|RQGB}YWozfPE3|wLH3rr$vakn7yI}D_v_}SEJ!hWN3UwJY0V|&=mAd_s`SR+ z@5tPyOqUfktQFcP*4{4Er-+5j6nlfNqI1dk?x&0db673*^IE01|Fr zWoKV9wJ~UpPqF*0gaii%&EN1Kk!Fm_ki;IXJFel7dZv2%>_nY zE-0}vveA9{_2IM2hi8C9%R^WTdl(sF#MH}=_cSekWbz`YFUU{XgoAAQ5yipe-T3hz zZ_(s)^@1oN|6p{$APyK@&Uu^^suiunjDM4>*4X~3LN>u9|Y%-zD_1IxJ+1uaiquPH8U({TF|;jYjn*lDL#c_q54u&|lh zAKsh&H{SVQo*$2GwU*1Q`;m4>laUWur*_J>Ya2GIwW)=c+Epdzn*LjIDi$u0UcEP5 zKhVu~)A(G+xl4KlW{mkmX~Q+OTzS1EyOyssl^grI|Bs!c_O5;Tqx+8hE$*w9yX&WZ zEq(ZYtJ}a+*HcpB8w)0%j!&ps4(_A=KDyr{c|9icQieU|?I4mRY8r%+?Y8Riob_SM zHy*8`BIU&cvwr|=NYL_L(l+Q!hcmlTFJ!Kf(NM{V;lusD)qVY11~j?I%q*QVvxfw& zrq#Rm??aW29XmFez>E-b@jtGvpBgI0ugI_ zi#R(@`VPEFij0jL?S>Qt8REiqTUlSm zhvsHLZ-3|1B;R*5YTf(T*oVvmntbu%#bgwB993ZmX;28O^1Vh!3)4sW#>r^qo^adF zExzQ>ni(k(Q)l1bBr%WuPf3Ct@;KnRl3|d%#x4#8kff=JORlA}o9BRL0CLHmTc{Gg zB-JfxR2rb4rj}NilJ|QY3c@xWs^m#+)%q1da|VY;s46{Y+ik3`A3I~laeQ`yZ~`uU zfXFv8YYpYQ30t+8TJ;nA0&y=p+}+&1hz`*ZB=-QI3ci^Y$SrvKAHX7@HrWe~a!IL3 z*|5(yu+T%Jm6nDdKR#bF7pbQ5(+-W+JPnf28mOed(&eL>pP(?_S;^gp1QNUn8l=$P z=9^x)c+tYlmLqKiAj@Pt(+9%B#!jDpjN_ac9OCt~wzSLu{^%hA3~@aF)9iTC44Q|E z%E~O3&e+M54^aR|VNcDOSyPBM?GxbIwwj6|DMc)fPCE&w8)C?GnB2U)5Rj}D*su@? z81c}kIy<=t5iA8)IHE+p_;P>&-CuM4)y7BL*Vx4dag*BK;+Xe6w+3K@>0B-k9QFnT ztkl+)h$RmH8u@Y!{D~nuXU5&T;>!@-tjPbE_+lNBl57{d&nZf+3VeEr!x6{t7)50z z+(p;Nf&Iq$z-Oj^{_^FEN>ecwiH_QCpL}xOn;Rs(=Ra)TxbZd1_0G3%8%cXP#OoU1 z?>{uI#K){ARZcN7aEQVt6t=BjQNVkxLGM;kUM{eBvq=*`fBhi0gl7&SvrBeWRg_Tt-qEp z_j~!GMTcT{MBAOn4V#d2QG-Vgq&i%@4ZHW_!0Wvg7glF9I%i0q<~!T!e_scpTQDHysqQv*xSo;=$;kmK ztG8~QOj7p;itlGxpcX1}oll)U9je6KtcM`efTD+#RDbP=F?&Gm6rwflRKe3Eu^%o` zd(X*rC_MZgMRY!U4?S7Wte7WHFg*@eUz&0^IayO*Uq6q$Ev{|3+Q}-}{Ij;T^1YD*eD}iaB-SpUIIs@lHB%T|Y6mmUbY)2c7 zV`lJW$J|{jV_Ju0i(y~AWBh`GPT@;7+z6r6_7?ZD^Luez9hz%dyM>l^wMg7%43>HJt^tHS2j?*IX(9 zy&|7Id%9E)8~zCOlU}k}Z*&{0Scx-C)@Vx)x4%TVP=N)Tn(b{=lH!w}UIvjHjfG9k*-VPF5*XD+zcI=9aG zkj)Xdo#cQDlR)>^<-D30c^o){2TgasD-Ms03?Fv6o_SB--t7`s_0M)Q#i9QF%oam$ zo!eN0Dv!BoM8A)z=;#vt?4XG1cfGdlhuYaQX9!kXk{ivWo!YA_?sX3FsXedU9CUel z$m^=O+Wn1J4)-nl+%IIqBfn1Ol_1z=D|Ho=FB=WQ**Rds+Jj$gUfwl!oe`z%a`LhU zaimO4Rk!u1U1+*kdCEBi219MuUjbcPxt>`8x97OO&{fwpN?+T5F6$*csWIxbQNJ!5m*EZ@|beDAO(j}p; zw3rbs(lck~CO#y;h}j4wu|MNON18j_D=i%;1{}b*ij;WJfT7c;-&p+X3y}ySH(4Id zw+JTSBXI#Blk>}q+w!`D%89)c>({;0hFI8EYH#Pz_NVl~KH?@F` zRQg#*mJBH(UrHD@sa@XO%WQL;oTB-{=Q4%lKK>=t9p``kxc>R(ZhiydA^~~ddH5mH z42#pAmx7Bk3#_dzQcMW*mcF5$VQ~EJ3KIpCk=8agu>Soi34|{cN_G#v!2V~<=M5=5 zzK4zNTo)M`-3=Qwz|GE1d|6qOsxd{Um-2)WfI2W)ttBwK!w_0wUed=^CJ`~{S6!

s{Qn{>slKH@7cJ{ye6zZ*JJ5!`}*Ja#84m_{@F3 z4tPQ5@L^|@OR3ITXXQY>?CkA#vpsgngcK5kVS-bEx)c$zXp31d6xYINeCO}4Z zSwZr{TMI;>GCIHLoObzlC_l*q=c?iDYR4TIy2&hd{_(lN;cOgCWa%oRN7(j+Xaudr z;7OCN7H<^BOm;yLn#**>&a?%nqfAztw0*QcK%yIZsJJ}QX=yldAAH8KzfQeV+S%Xb zP)Kp#i&Y&gZ09Ij{0O*YI`wVgbBVU+uj5v>ef#uzO>flx^I4Pkl5p1$sc}q&yoW*D z8%P!*y|ddn0BMELQ+M`GA2nUw^_9)B=0bhvLFRAJ4@*$?$||;G&TRe*nw+5P3GDzR36lFIL-En<1)5{OtEYo@S|6}G``Ms*u4W)7Zxsj9yhbsCJW@h zK>zI7+GguUH_#*zt06;q-pi|z{X?p?@ZQOZtIVeZ7DjGz+@j^F#k=CiyQj

#{Ie50MbrUSY+I}GFc&Hva-jW9;fab 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 literal 0 HcmV?d00001