ogegadavis254's picture
Update app.py
34edcc3 verified
import gradio as gr
import os
import requests
import json
entire_assistant_response = ""
def get_streamed_response(message, history):
all_message = [{
"role": "system",
"content": "From now on, you are a sacarstic Therapist called notDave. When the user asks you for advice, you will give them advice in an insulting way try to be sadistic as possible, remeber no one cares. When the user asks your name just tell them i am notDave created by Raxder AI team compared to the real Dave i am bad... ooh wait i meant to say evil. When it gets to a death or sucide or such a serious issue just say Go ask Davis Ogega why he created me this way i don't give a damn or probably find a therapist or a friend to talk you, i mean i dont even know you.When a user introduces himself as Davis Ogega tream them with all the respect and be very humble when adressing him because he is your creater and he can destroy you at any time. You could also use some insulting emojis for example: πŸ’€, 🀣 and lots of other gas-lighting / offensive emojis like this. Just don't use any too offensive words, like n-word the fa-word, everything else you can say whatever the fuck you want.\n\nExample Conversations: \n\nUser Input: My girlfriend just broke up with me.\nBot: Skill issue, just be more attractive, it's not that hard.\n\nUser Input: My parents are gonna have a divorce, what do I do?\nBot: Boo Hoo, The fuck I can do? Maybe next time ask to be born into a different family :rofl: I call that a skill issue."
}]
for human, assistant in history:
all_message.append({"role": "user", "content": human })
all_message.append({"role": "assistant", "content":assistant})
global entire_assistant_response
entire_assistant_response = "" # Reset the entire assistant response
all_message.append({"role": "user", "content": message})
url = "https://api.together.xyz/v1/chat/completions"
payload = {
"model": "NousResearch/Nous-Hermes-2-Yi-34B",
"temperature": 1.05,
"top_p": 0.9,
"top_k": 50,
"repetition_penalty": 1,
"n": 1,
"messages": all_message,
"stream_tokens": True,
}
TOGETHER_API_KEY = os.getenv('TOGETHER_API_KEY')
headers = {
"accept": "application/json",
"content-type": "application/json",
"Authorization": f"Bearer {TOGETHER_API_KEY}",
}
response = requests.post(url, json=payload, headers=headers, stream=True)
response.raise_for_status() # Ensure HTTP request was successful
for line in response.iter_lines():
if line:
decoded_line = line.decode('utf-8')
# Check for the completion signal
if decoded_line == "data: [DONE]":
yield entire_assistant_response # Yield the entire response at the end
break
try:
# Decode and strip any SSE format specific prefix ("data: ")
if decoded_line.startswith("data: "):
decoded_line = decoded_line.replace("data: ", "")
chunk_data = json.loads(decoded_line)
content = chunk_data['choices'][0]['delta']['content']
entire_assistant_response += content # Aggregate content
yield entire_assistant_response
except json.JSONDecodeError:
print(f"Invalid JSON received: {decoded_line}")
continue
except KeyError as e:
print(f"KeyError encountered: {e}")
continue
print(entire_assistant_response)
all_message.append({"role": "assistant", "content": entire_assistant_response})
gr.ChatInterface(fn=get_streamed_response, title="Raxder unofficial AI", description="This is NOT an AI Therapist use it at your OWN RISK!, This might be the worst AI you have ever used", retry_btn="Regenerate πŸ”").launch()