ZeroTimo commited on
Commit
e3d9b1d
·
verified ·
1 Parent(s): 3c9938b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -50,20 +50,20 @@ async def run_and_submit_all(profile: gr.OAuthProfile | None, progress=gr.Progre
50
 
51
  # 2) Parallel-Ausführung mit korrekt gemappten Tasks
52
  with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_PAR_LLM) as ex:
53
- task_map = {
54
- asyncio.create_task(run_agent_async(ex, tid, qst)): (tid, qst)
 
55
  for tid, qst in work
56
- }
57
- done_total = 0
58
- for done in asyncio.as_completed(list(task_map.keys())): # fix
59
- tid, qst = task_map[done] # garantiert vorhanden
60
- answer = await done
61
 
62
  answers.append({"task_id": tid, "submitted_answer": answer})
63
  logs.append({"Task ID": tid, "Question": qst, "Answer": answer})
64
 
65
- done_total += 1
66
- progress(done_total / len(work), desc=f"{done_total}/{len(work)} done")
67
 
68
  # 3) Submit
69
  submit_url = f"{DEFAULT_API_URL}/submit"
 
50
 
51
  # 2) Parallel-Ausführung mit korrekt gemappten Tasks
52
  with concurrent.futures.ThreadPoolExecutor(max_workers=MAX_PAR_LLM) as ex:
53
+ # korrekte Reihenfolge: Ergebnisse von gather ↔ Reihenfolge in work
54
+ tasks = [
55
+ run_agent_async(ex, tid, qst) # liefert str-Antwort
56
  for tid, qst in work
57
+ ]
58
+ # gather wartet auf alle, behält Reihenfolge
59
+ results = await asyncio.gather(*tasks)
60
+ for idx, answer in enumerate(results):
61
+ tid, qst = work[idx]
62
 
63
  answers.append({"task_id": tid, "submitted_answer": answer})
64
  logs.append({"Task ID": tid, "Question": qst, "Answer": answer})
65
 
66
+ progress((idx + 1) / len(work), desc=f"{idx+1}/{len(work)} done")
 
67
 
68
  # 3) Submit
69
  submit_url = f"{DEFAULT_API_URL}/submit"