Chatbot2 / app.py
Phoenix21's picture
Update app.py
2cc6ea2 verified
raw
history blame
1.08 kB
# app.py
import gradio as gr
from my_memory_logic import run_with_session_memory
def chat_interface_fn(message, history, session_id):
"""
Single-turn function for Gradio's ChatInterface.
'session_id' is used to store conversation across turns.
"""
answer = run_with_session_memory(message, session_id)
# Update local 'history' for the UI
history.append((message, answer))
# Convert to openai-style message dicts
message_dicts = []
for user_msg, ai_msg in history:
message_dicts.append({"role": "user", "content": user_msg})
message_dicts.append({"role": "assistant", "content": ai_msg})
return message_dicts, history
with gr.Blocks() as demo:
session_id_box = gr.Textbox(label="Session ID", value="abc123", interactive=True)
chat_interface = gr.ChatInterface(
fn=lambda msg, hist: chat_interface_fn(msg, hist, session_id_box.value),
title="DailyWellnessAI (Session-based Memory)",
description="Multi-turn chat using session ID and RunnableWithMessageHistory."
)
demo.launch()