Shopify_AI / app /frontend.py
Prerna43's picture
shopify_ai
80ef840
Raw
History Blame Contribute Delete
1.54 kB
import os
import httpx
import streamlit as st
API_BASE_URL = os.getenv("API_BASE_URL", "http://127.0.0.1:8000")
st.set_page_config(page_title="Shopify Support AI", page_icon="AI", layout="centered")
st.title("Shopify Support AI")
customer_id = st.text_input("Customer ID", value="cust_001")
order_id = st.text_input("Order ID", value="1234")
message = st.text_area(
"Customer message",
value="My order #1234 is delayed. Can I get a refund?",
height=140,
)
show_debug = st.checkbox("Show agent debug details", value=False)
if st.button("Submit ticket", type="primary"):
payload = {
"customer_id": customer_id,
"message": message,
"order_id": order_id or None,
}
try:
with httpx.Client(timeout=30) as client:
response = client.post(f"{API_BASE_URL}/api/tickets", json=payload)
response.raise_for_status()
data = response.json()
except httpx.HTTPError as exc:
st.error(f"Backend request failed: {exc}")
else:
st.subheader("AI Response")
st.write(data["response"])
if show_debug:
col1, col2, col3 = st.columns(3)
col1.metric("Ticket", data["ticket_id"])
col2.metric("Confidence", data["confidence"])
col3.metric("Escalated", "Yes" if data["escalated"] else "No")
if data.get("escalation_reason"):
st.warning(data["escalation_reason"])
with st.expander("Agent trace"):
st.json(data["trace"])