aidn commited on
Commit
7b5221f
·
verified ·
1 Parent(s): 55e706d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -12
app.py CHANGED
@@ -2,11 +2,12 @@ import gradio as gr
2
  from huggingface_hub import InferenceClient
3
  import os
4
 
5
- # Die Ratsmitglieder
 
6
  COUNCIL_MEMBERS = {
7
- "Der Architekt": "meta-llama/Llama-3.3-70B-Instruct",
8
- "Der Glitch": "deepseek-ai/DeepSeek-V3",
9
- "Der Debugger": "Qwen/Qwen2.5-Coder-32B-Instruct"
10
  }
11
 
12
  # Ein garantierter Chat-Model-Moderator
@@ -38,26 +39,42 @@ def run_council(user_prompt, rounds):
38
  history = [{"role": "user", "content": user_prompt}]
39
  yield history
40
 
41
- current_context = f"Die zu diskutierende Frage lautet: {user_prompt}\n\n"
 
42
 
43
  for r in range(int(rounds)):
44
  round_header = f"### ZYKLUS {r+1}"
45
  history.append({"role": "assistant", "content": round_header})
46
  yield history
47
 
48
- round_notes = ""
49
  for name, model_id in COUNCIL_MEMBERS.items():
50
- system_msg = f"Du bist {name} in einem Expertenrat. Antworte in 2-3 Sätzen, bleib prägnant und nerdig."
51
- answer = ask_model(model_id, system_msg, current_context)
 
 
 
 
 
 
 
 
 
 
 
 
52
  formatted_answer = f"**{name}**: {answer}"
53
 
 
 
 
 
54
  history.append({"role": "assistant", "content": formatted_answer})
55
- round_notes += f"\n{formatted_answer}\n"
56
  yield history
57
-
58
- current_context += f"\nZusammenfassung Zyklus {r+1}:{round_notes}"
59
 
60
- final_res = ask_model(MODERATOR_MODEL, "Du bist der Moderator.", current_context + "\nFasse den Konsens in 3 Sätzen zusammen.")
 
 
 
61
  history.append({"role": "assistant", "content": "### 🏆 FINALE ENTSCHEIDUNG"})
62
  history.append({"role": "assistant", "content": final_res})
63
  yield history
 
2
  from huggingface_hub import InferenceClient
3
  import os
4
 
5
+ # Die Ratsmitglieder - Ich habe die UI-Namen etwas neutraler gemacht,
6
+ # der System-Prompt ist jetzt für alle gleich (siehe unten in der Funktion)
7
  COUNCIL_MEMBERS = {
8
+ "Mitglied 1 (Llama)": "meta-llama/Llama-3.3-70B-Instruct",
9
+ "Mitglied 2 (DeepSeek)": "deepseek-ai/DeepSeek-V3",
10
+ "Mitglied 3 (Qwen)": "Qwen/Qwen2.5-Coder-32B-Instruct"
11
  }
12
 
13
  # Ein garantierter Chat-Model-Moderator
 
39
  history = [{"role": "user", "content": user_prompt}]
40
  yield history
41
 
42
+ # Hier speichern wir fortlaufend den gesamten Chatverlauf
43
+ discussion_history = ""
44
 
45
  for r in range(int(rounds)):
46
  round_header = f"### ZYKLUS {r+1}"
47
  history.append({"role": "assistant", "content": round_header})
48
  yield history
49
 
 
50
  for name, model_id in COUNCIL_MEMBERS.items():
51
+ # Der neue, neutrale System-Prompt für alle
52
+ system_msg = "Du bist ein Council Member eines Rates, bestehend aus mehreren Mitgliedern. Antworte in 2-3 Sätzen und bleib prägnant."
53
+
54
+ # Die Anweisung an das Modell ändert sich, je nachdem ob es der erste Sprecher ist oder nicht
55
+ if discussion_history == "":
56
+ current_prompt = f"Die Frage an den Rat lautet: '{user_prompt}'. Bitte eröffne die Diskussion mit deiner ersten Einschätzung."
57
+ else:
58
+ current_prompt = (
59
+ f"Die ursprüngliche Frage lautet: '{user_prompt}'.\n\n"
60
+ f"Bisheriges Protokoll der Sitzung:\n{discussion_history}\n\n"
61
+ f"Du bist nun an der Reihe. Bitte reagiere auf die bisherigen Aussagen deiner Vorredner und füge deine eigene Perspektive hinzu."
62
+ )
63
+
64
+ answer = ask_model(model_id, system_msg, current_prompt)
65
  formatted_answer = f"**{name}**: {answer}"
66
 
67
+ # WICHTIG: Wir updaten die History SOFORT. Das nächste Modell in der Schleife
68
+ # liest diesen Text also direkt im nächsten Durchlauf als "Bisheriges Protokoll".
69
+ discussion_history += f"{formatted_answer}\n\n"
70
+
71
  history.append({"role": "assistant", "content": formatted_answer})
 
72
  yield history
 
 
73
 
74
+ # Finale Zusammenfassung durch den Moderator
75
+ mod_prompt = f"Das ursprüngliche Thema war: '{user_prompt}'.\n\nHier ist das komplette Protokoll des Rates:\n{discussion_history}\n\nFasse den gefundenen Konsens oder die Kernpunkte in 3 Sätzen zusammen."
76
+ final_res = ask_model(MODERATOR_MODEL, "Du bist der Moderator des Rates.", mod_prompt)
77
+
78
  history.append({"role": "assistant", "content": "### 🏆 FINALE ENTSCHEIDUNG"})
79
  history.append({"role": "assistant", "content": final_res})
80
  yield history