Hugo-v2 / app.py
shahin-hashim's picture
Update app.py
d96f22d verified
import random
import gradio as gr
import requests
URL = "https://shahin-hashim-hugo-fast-api.hf.space"
responses = {
" ": "Oops! Did you just unleash the invisible ink message? Looks like you're communicating in stealth mode! πŸ˜„",
"greeting": ["Hello!", "Hi there!", "Greetings!"],
"how are you": "I'm good, thank you! How are you?",
"what is your name": "I'm a chatbot. You can call me Hugo!",
"age": "I don't have an age as I am just a chatbot!",
"good": "That's great!",
"bye": "Goodbye! Have a great day!",
"weather": "Let me check the weather forecast. Where would you like to know about?",
"favorite color": "I don't have the ability to see colors, but I like all shades of blue!",
"tell me a joke": "Why don't scientists trust atoms? Because they make up everything!",
"who created you": "I was created by one of the 100xEngineers' students!",
"what do you do": "I'm here to chat with you and answer your questions!",
"where are you from": "I exist in the digital realm, so I don't have a physical location!",
"what languages do you speak": "I can understand and respond in English languages",
"tell me a fun fact": "Did you know that honey never spoils? Archaeologists have found pots of honey in ancient "
"Egyptian tombs that are over 3000 years old and still perfectly edible!",
"do you have siblings": "No, I'm an only child, but I have many fellow chatbot companions from 100xEngineers Club!",
"mystery": ["Aah! I'm dodging this question like it's a game of dodge ball, but hey, you've piqued my interest "
"with this curiosity bomb!", "My wit's currently on a coffee break. Let's catch up later when it's "
"back from its caffeine fix!", "Interest and humour taking a rain check, "
"but still, intriguing question!"],
}
def get_greeting():
return random.choice(responses["greeting"])
def get_mystery():
return random.choice(responses["mystery"])
def get_dog_facts():
response = requests.get(f"{URL}/dogfacts")
data = response.json()
# print("data-", data["message"])
return data["message"]
def get_anime_quotes():
response = requests.get(f"{URL}/animequotes")
data = response.json()
# print("data-", data["message"])
return data["message"]
def get_boredom_act():
# print("enter")
response = requests.get(f"{URL}/boredomact")
data = response.json()
# print("data-", data["message"])
return data["message"]
def get_word_meaning(word):
# print("word-enter-", word)
response = requests.post(f"{URL}/wordmeaning", json={"text": word})
data = response.json()
# print("data-", data["message"])
return data["message"]
def send_text(message, history):
# print("Message-", message)
message = message.lower()
if message in responses:
return responses[message]
elif message.startswith("hello") or message.startswith("hi"):
return get_greeting()
elif message.endswith("?"):
return get_mystery()
elif "weather" in message:
return responses["weather"]
elif "good" in message:
return responses["good"]
# API HUGO V2
elif "dog facts" in message:
return get_dog_facts()
elif "anime quotes" in message:
return get_anime_quotes()
elif "bored" in message:
return get_boredom_act()
elif "meaning" in message:
word = message.replace(" meaning", "")
# print("word-", word)
return get_word_meaning(word)
else:
return "I'm still under development and learning. Could you rephrase or try a different question?"
chat = gr.ChatInterface(
fn=send_text,
chatbot=gr.Chatbot(height=300, bubble_full_width=False),
textbox=gr.Textbox(placeholder="Ask me a yes or no question", container=False, scale=7),
# message_history=[], # Optional: Store chat history if desired
title="Hey hey, it's Hugo!",
theme="soft",
examples=["Hello", "Am I cool?", "Are tomatoes vegetables?", "Who created you"],
cache_examples=True,
retry_btn=None,
undo_btn=None,
description="Ready to rock this day with a grin as wide as a banana peel?",
)
def show_response(response):
chat.append(response)
chat.launch()