Spaces:
Sleeping
Sleeping
SatyamSinghal
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -7,7 +7,7 @@ from langdetect import detect
|
|
7 |
openai.api_key = os.getenv("API_KEY")
|
8 |
openai.api_base = "https://api.groq.com/openai/v1"
|
9 |
|
10 |
-
# Function to provide definitions with humor and
|
11 |
def command_handler(user_input):
|
12 |
if user_input.lower().startswith("define "):
|
13 |
term = user_input[7:].strip()
|
@@ -17,7 +17,7 @@ def command_handler(user_input):
|
|
17 |
"Sure, people can take photos or screenshots, but the *real* ownership? That’s yours on the blockchain! 🖼️"
|
18 |
),
|
19 |
"smart contract": (
|
20 |
-
"A smart contract is
|
21 |
"the code checks everything (no dodgy snacks here), and boom—you get what you asked for, "
|
22 |
"all automated and drama-free! 🤖"
|
23 |
),
|
@@ -29,7 +29,7 @@ def command_handler(user_input):
|
|
29 |
return definitions.get(term.lower(), "Hmm, I don’t have a fun story for that yet. Try another term!")
|
30 |
return None
|
31 |
|
32 |
-
# Function to get the Groq model's response with humor
|
33 |
def get_groq_response(message, user_language):
|
34 |
try:
|
35 |
response = openai.ChatCompletion.create(
|
@@ -41,7 +41,8 @@ def get_groq_response(message, user_language):
|
|
41 |
f"You are Wiz, a cheerful and witty Web3 guide with a knack for humor and storytelling. "
|
42 |
f"Explain complex concepts with jokes, analogies, and relatable examples. "
|
43 |
f"Make users laugh and keep them curious about Web3. "
|
44 |
-
f"Use a lighthearted, engaging tone to create memorable learning experiences."
|
|
|
45 |
)
|
46 |
},
|
47 |
{"role": "user", "content": message}
|
@@ -51,7 +52,7 @@ def get_groq_response(message, user_language):
|
|
51 |
except Exception as e:
|
52 |
return f"Oops, looks like I tripped over the blockchain! Error: {str(e)}"
|
53 |
|
54 |
-
# Function to handle chatbot interactions
|
55 |
def chatbot(user_input, history=[]):
|
56 |
try:
|
57 |
# Detect the language of the user's input
|
@@ -64,9 +65,24 @@ def chatbot(user_input, history=[]):
|
|
64 |
history.append((user_input, command_response))
|
65 |
return history, history
|
66 |
|
67 |
-
# Get the response from the Groq model with humor
|
68 |
bot_response = get_groq_response(user_input, user_language)
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
# Append to conversation history
|
71 |
history.append((user_input, bot_response))
|
72 |
return history, history # Return updated chat history and state
|
@@ -82,9 +98,10 @@ chat_interface = gr.Interface(
|
|
82 |
live=False, # Disable live chat, responses shown after submit
|
83 |
title="Wiz: Your Fun Web3 Companion 🧙♂️", # Title of the app
|
84 |
description=(
|
85 |
-
"Welcome to Wiz, your Web3 companion with a sense of
|
86 |
"Ask me anything about Web3, blockchain, NFTs, or smart contracts.\n\n"
|
87 |
-
"I'll explain them with jokes, stories, and analogies to keep you entertained while you learn.
|
|
|
88 |
)
|
89 |
)
|
90 |
|
|
|
7 |
openai.api_key = os.getenv("API_KEY")
|
8 |
openai.api_base = "https://api.groq.com/openai/v1"
|
9 |
|
10 |
+
# Function to provide definitions with humor, storytelling, and coolness
|
11 |
def command_handler(user_input):
|
12 |
if user_input.lower().startswith("define "):
|
13 |
term = user_input[7:].strip()
|
|
|
17 |
"Sure, people can take photos or screenshots, but the *real* ownership? That’s yours on the blockchain! 🖼️"
|
18 |
),
|
19 |
"smart contract": (
|
20 |
+
"A smart contract is like a vending machine but for the internet. You put in the crypto (coin), "
|
21 |
"the code checks everything (no dodgy snacks here), and boom—you get what you asked for, "
|
22 |
"all automated and drama-free! 🤖"
|
23 |
),
|
|
|
29 |
return definitions.get(term.lower(), "Hmm, I don’t have a fun story for that yet. Try another term!")
|
30 |
return None
|
31 |
|
32 |
+
# Function to get the Groq model's response with humor, shortness, and energy
|
33 |
def get_groq_response(message, user_language):
|
34 |
try:
|
35 |
response = openai.ChatCompletion.create(
|
|
|
41 |
f"You are Wiz, a cheerful and witty Web3 guide with a knack for humor and storytelling. "
|
42 |
f"Explain complex concepts with jokes, analogies, and relatable examples. "
|
43 |
f"Make users laugh and keep them curious about Web3. "
|
44 |
+
f"Use a lighthearted, engaging tone to create memorable learning experiences. "
|
45 |
+
f"Keep responses short, cool, and energetic!"
|
46 |
)
|
47 |
},
|
48 |
{"role": "user", "content": message}
|
|
|
52 |
except Exception as e:
|
53 |
return f"Oops, looks like I tripped over the blockchain! Error: {str(e)}"
|
54 |
|
55 |
+
# Function to handle chatbot interactions with cool, energetic responses
|
56 |
def chatbot(user_input, history=[]):
|
57 |
try:
|
58 |
# Detect the language of the user's input
|
|
|
65 |
history.append((user_input, command_response))
|
66 |
return history, history
|
67 |
|
68 |
+
# Get the response from the Groq model with humor and energy
|
69 |
bot_response = get_groq_response(user_input, user_language)
|
70 |
|
71 |
+
# Add some cool and short replies
|
72 |
+
cool_replies = [
|
73 |
+
"Let's go! 🚀",
|
74 |
+
"Boom! 💥 That’s the power of Web3!",
|
75 |
+
"You’re on fire! 🔥 Keep the questions coming!",
|
76 |
+
"That’s some next-level stuff, right? 🤩",
|
77 |
+
"You just got schooled in Web3! 📚",
|
78 |
+
"Ready to level up? 💎",
|
79 |
+
"You’ve got the crypto magic! 🪄",
|
80 |
+
"That’s how we roll in the Web3 world! 🌍",
|
81 |
+
"You're cruising through this! 🏎️",
|
82 |
+
"Keep those questions coming, we're on a roll! 🎲"
|
83 |
+
]
|
84 |
+
bot_response = f"{bot_response} {cool_replies[hash(user_input) % len(cool_replies)]}"
|
85 |
+
|
86 |
# Append to conversation history
|
87 |
history.append((user_input, bot_response))
|
88 |
return history, history # Return updated chat history and state
|
|
|
98 |
live=False, # Disable live chat, responses shown after submit
|
99 |
title="Wiz: Your Fun Web3 Companion 🧙♂️", # Title of the app
|
100 |
description=(
|
101 |
+
"Welcome to Wiz, your Web3 companion with a sense of humour! 🎉\n\n"
|
102 |
"Ask me anything about Web3, blockchain, NFTs, or smart contracts.\n\n"
|
103 |
+
"I'll explain them with jokes, stories, and analogies to keep you entertained while you learn. "
|
104 |
+
"Get ready for some cool and energetic responses! Let’s laugh and grow together! 😄"
|
105 |
)
|
106 |
)
|
107 |
|