RandomResponse / app.py
ShivaPrakash's picture
Update app.py
7e1ca3e verified
import gradio as gr
import anthropic
import base64
import httpx
import os
import time
import random
import requests
def print_like_dislike(x: gr.LikeData):
print(x.index, x.value, x.liked)
def add_message(history, message):
# Since we're now using gr.Textbox, we only handle text inputs
if message is not None:
history.append((message, ''))
print(history)
return history, gr.Textbox(value=None, interactive=False)
def bot(history):
response = random.choice(["Noted. Will check that and get back", "Okay. Interesting!!","Hmm! Can you give me more info on this"])
history[-1][1] = ""
for character in response:
history[-1][1] += character
time.sleep(0.1)
yield history
with gr.Blocks() as demo:
chatbot = gr.Chatbot(
[],
elem_id="chatbot",
bubble_full_width=False,
)
# Use gr.Textbox for chat input
chat_input = gr.Textbox(placeholder="Enter message ...", show_label=True, label = "Input prompt")
chat_msg = chat_input.submit(add_message, [chatbot, chat_input], [chatbot, chat_input])
bot_msg = chat_msg.then(bot,chatbot,chatbot, api_name="bot_response")
bot_msg.then(lambda: gr.Textbox(interactive=True), None, [chat_input])
chatbot.like(print_like_dislike, None, None)
demo.queue()
demo.launch()