deepsodha commited on
Commit
1b78d27
Β·
verified Β·
1 Parent(s): 77901e9

Update retailgpt_evaluator/app.py

Browse files
Files changed (1) hide show
  1. retailgpt_evaluator/app.py +35 -4
retailgpt_evaluator/app.py CHANGED
@@ -3,12 +3,27 @@ from shared.hf_helpers import build_pipeline
3
  from retailgpt_evaluator.leaderboard import build_leaderboard
4
  import yaml, pandas as pd, os
5
 
6
- st.set_page_config(page_title="RetailGPT Evaluator", page_icon="πŸ›οΈ", layout="wide")
 
 
 
 
 
 
 
 
7
  st.title("πŸ›οΈ RetailGPT Evaluator β€” AxionX Digital")
 
8
 
 
 
 
9
  with open("config.yaml") as f:
10
  cfg = yaml.safe_load(f)
11
 
 
 
 
12
  if os.path.exists("models/retail_eval_results.json"):
13
  df = build_leaderboard()
14
  st.subheader("πŸ“Š Model Leaderboard")
@@ -16,11 +31,27 @@ if os.path.exists("models/retail_eval_results.json"):
16
  else:
17
  st.warning("Run `evaluate.py` first to generate metrics.")
18
 
 
 
 
 
 
 
19
  model_name = st.selectbox("Choose a model to chat with:", cfg["models"])
20
  pipe = build_pipeline(model_name)
21
 
22
  query = st.text_area("Customer query:", "I want to return a damaged product.")
23
  if st.button("Ask Model"):
24
- result = pipe(query, max_new_tokens=cfg["demo"]["max_new_tokens"])
25
- st.markdown("### 🧠 Model Response")
26
- st.write(result[0]["generated_text"])
 
 
 
 
 
 
 
 
 
 
 
3
  from retailgpt_evaluator.leaderboard import build_leaderboard
4
  import yaml, pandas as pd, os
5
 
6
+ # βœ… Safe config β€” only runs if not already set by hub
7
+ try:
8
+ st.set_page_config(page_title="RetailGPT Evaluator", page_icon="πŸ›οΈ", layout="wide")
9
+ except st.errors.StreamlitAPIException:
10
+ pass # Already configured by main Streamlit Hub
11
+
12
+ # -------------------------------
13
+ # Title & Description
14
+ # -------------------------------
15
  st.title("πŸ›οΈ RetailGPT Evaluator β€” AxionX Digital")
16
+ st.write("Benchmark and chat with multiple retail QA models.")
17
 
18
+ # -------------------------------
19
+ # Load Configuration
20
+ # -------------------------------
21
  with open("config.yaml") as f:
22
  cfg = yaml.safe_load(f)
23
 
24
+ # -------------------------------
25
+ # Leaderboard Section
26
+ # -------------------------------
27
  if os.path.exists("models/retail_eval_results.json"):
28
  df = build_leaderboard()
29
  st.subheader("πŸ“Š Model Leaderboard")
 
31
  else:
32
  st.warning("Run `evaluate.py` first to generate metrics.")
33
 
34
+ # -------------------------------
35
+ # Chat Interface
36
+ # -------------------------------
37
+ st.markdown("---")
38
+ st.subheader("πŸ’¬ Chat With a Model")
39
+
40
  model_name = st.selectbox("Choose a model to chat with:", cfg["models"])
41
  pipe = build_pipeline(model_name)
42
 
43
  query = st.text_area("Customer query:", "I want to return a damaged product.")
44
  if st.button("Ask Model"):
45
+ if query.strip():
46
+ with st.spinner("Generating response..."):
47
+ result = pipe(query, max_new_tokens=cfg["demo"]["max_new_tokens"])
48
+ st.markdown("### 🧠 Model Response")
49
+ st.write(result[0]["generated_text"])
50
+ else:
51
+ st.warning("Please enter a customer query above before submitting.")
52
+
53
+ # -------------------------------
54
+ # Footer
55
+ # -------------------------------
56
+ st.markdown("---")
57
+ st.caption("Β© 2025 AxionX Digital β€” Innovating Tomorrow")