| import gradio as gr | |
| from pipeline import run_with_chain | |
| from my_memory_logic import memory, restatement_chain | |
| def chat_history_fn(user_input, history): | |
| # Convert `history` (list of [user, ai] pairs) into memory messages | |
| for user_msg, ai_msg in history: | |
| memory.chat_memory.add_user_message(user_msg) | |
| memory.chat_memory.add_ai_message(ai_msg) | |
| # 1) Restate the user question with chat history | |
| reformulated_q = restatement_chain.run({ | |
| "chat_history": memory.chat_memory.messages, | |
| "input": user_input | |
| }) | |
| # 2) Pass the reformulated question to your pipeline | |
| answer = run_with_chain(reformulated_q) | |
| # 3) Update memory | |
| memory.chat_memory.add_user_message(user_input) | |
| memory.chat_memory.add_ai_message(answer) | |
| # 4) Return the new message + updated history for Gradio | |
| history.append((user_input, answer)) | |
| return history, history | |
| demo = gr.ChatInterface( | |
| fn=chat_history_fn, | |
| title="DailyWellnessAI with Memory", | |
| description="A chat bot that remembers context using memory + question restatement." | |
| ) | |
| demo.launch() | |