DC0101's picture
Upload 3 files
593f82b verified
import gradio as gr
from workflow import build_agent
from langchain.memory import ConversationBufferMemory
session={}
def manage_memory(session_id:str):
if session_id not in session:
session[session_id]=ConversationBufferMemory(memory_key="chat_history", return_messages=True)
return session[session_id]
state={
'query':'',
'cat':'',
'bank':'',
'product':'',
'search_result':'',
'final_answer':'',
'chat_history':[]
}
agent=build_agent(state)
def chat_history(message,history,request:gr.Request):
state['query']=message
state["chat_history"] = [f"User: {u}\nAssistant: {a}" for u, a in history if u and a]
session_id=request.session_hash
memory=manage_memory(session_id)
memory.chat_memory.add_user_message(message)
ans = agent.invoke(state)
memory.chat_memory.add_ai_message(ans["final_answer"])
return ans["final_answer"]
with gr.Blocks() as demo:
gr.ChatInterface(
chat_history,
title="💬 Banking Research Agent",
description="Ask me about banking products, and I'll fetch & compare results for you."
)
if __name__=="__main__":
demo.launch()