logical_reasoning_agent / streamlit_app_session_context.py
hasanmalik825-gh
added streamlit apps
111bf0e
import streamlit as st
from langchain.callbacks import StreamlitCallbackHandler
from reasoning_agent import get_reasoning_agent
groq_api_key = st.sidebar.text_input("Enter your Groq API key:", type="password")
agent = get_reasoning_agent(groq_api_key)
st.title("🦜 Logical Reasoning Agent")
st.write("Ask any logical reasoning question.")
if "messages" not in st.session_state:
st.session_state["messages"]=[
{"role":"assistant","content":"Hi, I'm an intelligent and logical agent. How can I help you?"}
]
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg["content"])
user_input=st.chat_input(placeholder="Enter your question here...")
if user_input and groq_api_key:
st.session_state.messages.append({"role":"user","content":user_input})
st.chat_message("user").write(user_input)
with st.chat_message("assistant"):
st_cb=StreamlitCallbackHandler(st.container(),expand_new_thoughts=False)
response = agent.invoke({"input": st.session_state.messages}, callbacks=[st_cb])
st.session_state.messages.append({'role':'assistant',"content":response["output"]})
st.write(response["output"])
else:
st.warning("Please enter both, your Groq API key and question.")