imaigen's picture
Update app.py
bc09f5c verified
Raw
History Blame Contribute Delete
1.75 kB
import streamlit as st
import requests
import json
import os
# Set the API endpoint
API_ENDPOINT = os.environ.get("MY_SECRET_KEY") # Change this to your API's address if different
def send_message(message):
"""Send a message to the API and return the response."""
try:
response = requests.post(
f"{API_ENDPOINT}/api/chat",
json={"message": message} # Send as JSON in the request body
)
response.raise_for_status() # Raise an exception for bad status codes
return response.json()["response"]
except requests.RequestException as e:
st.error(f"Error communicating with the API: {e}")
return None
def main():
st.title("Banking Customer Query Chatbot")
# Initialize chat history
if "messages" not in st.session_state:
st.session_state.messages = []
# Display chat messages from history on app rerun
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
# React to user input
if prompt := st.chat_input("What is your question?"):
# Display user message in chat message container
st.chat_message("user").markdown(prompt)
# Add user message to chat history
st.session_state.messages.append({"role": "user", "content": prompt})
response = send_message(prompt)
if response:
# Display assistant response in chat message container
with st.chat_message("assistant"):
st.markdown(response)
# Add assistant response to chat history
st.session_state.messages.append({"role": "assistant", "content": response})
if __name__ == "__main__":
main()