ysharma's picture
ysharma HF Staff
Update app.py
15ffc1b verified
raw
history blame
2.25 kB
import gradio as gr
import time
def bot_response(message, history):
print("\n=== Bot Response Function ===")
print(f"Received message: {message}")
print(f"Initial history: {history}")
history = history or []
messages = []
# First message
print("\nAdding first message pair...")
messages.append({"role": "assistant", "content": "Thinking..."})
history.extend(messages)
print(f"History after first message: {history}")
yield history
time.sleep(1)
# Second message
print("\nAdding second message...")
messages = [{"role": "assistant", "content": "This is the part 1 of bot response"}]
history.extend(messages)
print(f"History after second message: {history}")
yield history
time.sleep(1)
# Third message
print("\nAdding third message...")
messages = [{"role": "assistant", "content": "And this is part 2"}]
history.extend(messages)
print(f"History after third message: {history}")
yield history
time.sleep(1)
# Fourth message
print("\nAdding fourth message...")
messages = [{"role": "assistant", "content": "LAstly, some code:\n```python\nprint('hello world')\n```"}]
history.extend(messages)
print(f"History after fourth message: {history}")
yield history
with gr.Blocks() as demo:
chatbot = gr.Chatbot(
height=600,
group_consecutive_messages=False,
type="messages"
)
msg = gr.Textbox()
clear = gr.Button("Clear")
def user(user_message, history):
print("\n=== User Message Function ===")
print(f"User message: {user_message}")
print(f"Current history: {history}")
# Only add user message if it's not empty
if user_message.strip():
new_history = history + [{"role": "user", "content": user_message}]
print(f"New history after adding user message: {new_history}")
return "", new_history
return "", history
msg.submit(
user,
[msg, chatbot],
[msg, chatbot]
).then(
bot_response,
[msg, chatbot],
chatbot
)
clear.click(lambda: None, None, chatbot, queue=False)
#demo.queue()
demo.launch(debug=True)