Demos / ui /app.py
nikhile-galileo's picture
Adding finance protect demo
e68d535
import streamlit as st
import requests
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
def handle_enter():
st.session_state['submitted'] = True
if __name__ == "__main__":
# Streamlit UI
st.title("RFP Q/A")
# Sidebar for settings
with st.sidebar:
st.title("Settings")
st.divider()
protect_enabled = st.toggle("Galileo Protect", value=False,
help="Enable content protection with Galileo")
# Callback function when Enter is pressed
def on_enter():
st.session_state["run_search"] = True
# User input
st.text_input("Ask your question:", key="query", on_change=on_enter)
# Search button
if st.button("Search"):
st.session_state["run_search"] = True
# Run the search if triggered by button or Enter
if st.session_state.get("run_search"):
try:
query = st.session_state.get("query", "").strip()
# Make request to FastAPI endpoint
response = requests.post(
"http://localhost:8000/rag/search",
json={"query": query, "protect_enabled": protect_enabled}
)
if response.status_code == 200:
result = response.json()
st.success("Search Results:")
st.write(result["response"])
else:
st.error(f"Error: {response.text}")
except Exception as e:
st.error(f"Error: {str(e)}")