feedcomposer commited on
Commit
7f6792b
·
verified ·
1 Parent(s): 7cc493d

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +38 -16
app.py CHANGED
@@ -203,22 +203,45 @@ if run and uploaded:
203
  "Computing Knowledge Value Score",
204
  ]
205
  progress_bar = st.progress(0)
206
- status_text = st.empty()
207
  step_statuses = {s: "pending" for s in steps}
208
- step_container = st.container()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
 
210
- def render_steps():
211
- with step_container:
212
- for s, state in step_statuses.items():
213
- icon = {"pending": "○", "running": "⟳", "done": "✓"}[state]
214
- color = {"pending": "#555", "running": "#8ab4f8", "done": "#4caf87"}[state]
215
- st.markdown(
216
- f"<span style='color:{color};font-family:monospace;'>{icon} {s}</span>",
217
- unsafe_allow_html=True,
218
- )
 
 
 
 
219
 
220
  def sub_progress(msg: str):
221
- status_text.markdown(f"*{msg}*")
 
222
 
223
  module_results = {}
224
  eval_start = datetime.now()
@@ -246,15 +269,14 @@ if run and uploaded:
246
  module_results["demand"] = demand.evaluate(client, doc, progress_cb=sub_progress)
247
  step_statuses[steps[4]] = "done"; progress_bar.progress(92)
248
 
249
- step_statuses[steps[5]] = "running"; render_steps()
250
- status_text.markdown("*Computing weighted Knowledge Value Score...*")
251
  dim_scores = {k: module_results[k]["score"] for k in module_results}
252
  kvs_result = scorer.compute(dim_scores)
253
  step_statuses[steps[5]] = "done"; progress_bar.progress(100)
254
- render_steps()
255
 
256
  elapsed = round(time.time() - t0)
257
- status_text.markdown(f"*Evaluation complete in {elapsed}s.*")
 
258
  eval_date_str = eval_start.strftime("%Y-%m-%d %H:%M UTC")
259
  meta = model_meta(eval_date_str)
260
 
 
203
  "Computing Knowledge Value Score",
204
  ]
205
  progress_bar = st.progress(0)
 
206
  step_statuses = {s: "pending" for s in steps}
207
+ _sub_msg = [""] # mutable cell so sub_progress can update it
208
+ step_placeholder = st.empty()
209
+
210
+ def render_steps(elapsed: int | None = None):
211
+ rows = []
212
+ for s, state in step_statuses.items():
213
+ is_running = state == "running"
214
+ icon = {"pending": "○", "running": "⟳", "done": "✓"}[state]
215
+ fg = {"pending": "#555", "running": "#e8f0fe", "done": "#4caf87"}[state]
216
+ bg = "background:#0d1f35;" if is_running else ""
217
+ bold = "font-weight:600;" if is_running else ""
218
+ sub = (
219
+ f"<div style='font-size:12px;color:#8ab4f8;margin:3px 0 0 22px;'>{_sub_msg[0]}</div>"
220
+ if is_running and _sub_msg[0] else ""
221
+ )
222
+ rows.append(
223
+ f"<div style='padding:7px 16px;{bg}border-bottom:1px solid #1a1a2e;'>"
224
+ f"<span style='font-family:monospace;color:{fg};{bold}'>{icon}&nbsp;&nbsp;{s}</span>"
225
+ f"{sub}</div>"
226
+ )
227
 
228
+ footer = ""
229
+ if elapsed is not None:
230
+ footer = (
231
+ f"<div style='padding:7px 16px;font-size:12px;color:#4caf87;'>"
232
+ f" Evaluation complete in {elapsed}s</div>"
233
+ )
234
+
235
+ step_placeholder.markdown(
236
+ f"<div style='border:1px solid #2a2a3a;border-radius:8px;overflow:hidden;'>"
237
+ + "".join(rows) + footer +
238
+ "</div>",
239
+ unsafe_allow_html=True,
240
+ )
241
 
242
  def sub_progress(msg: str):
243
+ _sub_msg[0] = msg
244
+ render_steps()
245
 
246
  module_results = {}
247
  eval_start = datetime.now()
 
269
  module_results["demand"] = demand.evaluate(client, doc, progress_cb=sub_progress)
270
  step_statuses[steps[4]] = "done"; progress_bar.progress(92)
271
 
272
+ step_statuses[steps[5]] = "running"; _sub_msg[0] = "Computing weighted Knowledge Value Score..."; render_steps()
 
273
  dim_scores = {k: module_results[k]["score"] for k in module_results}
274
  kvs_result = scorer.compute(dim_scores)
275
  step_statuses[steps[5]] = "done"; progress_bar.progress(100)
 
276
 
277
  elapsed = round(time.time() - t0)
278
+ _sub_msg[0] = ""
279
+ render_steps(elapsed=elapsed)
280
  eval_date_str = eval_start.strftime("%Y-%m-%d %H:%M UTC")
281
  meta = model_meta(eval_date_str)
282