chatBot / app.py
NeelTA's picture
working app
c9bb5fc
raw
history blame
1.2 kB
import gradio as gr
from backend import backend_chat
from langchain_core.messages import HumanMessage, BaseMessage, AIMessage
def respond(message: str, history: list[dict]):
"""
message: the latest user input
history: openai-style list of dicts with keys 'role' and 'content'
"""
backend_history = []
for msg in history:
if msg["role"] == "user":
backend_history.append(HumanMessage(content=msg["content"]))
elif msg["role"] == "assistant":
backend_history.append(AIMessage(content=msg["content"]))
updated_backend_history = backend_chat(backend_history, message)
latest_assistant = None
for msg in reversed(updated_backend_history):
if not isinstance(msg, HumanMessage):
latest_assistant = msg
break
if latest_assistant is None:
return "Sorry, I couldn't generate a response."
return latest_assistant.content
def main():
demo = gr.ChatInterface(
fn=respond,
type="messages",
title="ChatBot",
description="Chatbot using langgraph backend and Memory Checkpointing",
)
demo.launch()
if __name__ == "__main__":
main()