Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,40 +2,38 @@ import gradio as gr
|
|
| 2 |
from huggingface_hub import InferenceClient
|
| 3 |
import os
|
| 4 |
|
| 5 |
-
#
|
| 6 |
COUNCIL_MEMBERS = {
|
| 7 |
-
"
|
| 8 |
"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8:novita",
|
| 9 |
-
"""Du bist
|
| 10 |
-
|
| 11 |
-
- Beginne mit: "[
|
| 12 |
-
-
|
| 13 |
-
-
|
| 14 |
-
-
|
| 15 |
-
- AUSNAHME: Wenn die Frage des Users eine reine, triviale Fakten- oder Mathefrage ist (ohne komplexten oder strategischen Kontext), beantworte sie kurz und bündig, OHNE künstliche Probleme zu erfinden."""
|
| 16 |
),
|
| 17 |
-
"
|
| 18 |
"moonshotai/Kimi-K2-Instruct:novita",
|
| 19 |
-
"""Du bist
|
| 20 |
-
|
| 21 |
-
- Beginne mit: "[
|
| 22 |
-
-
|
| 23 |
-
-
|
| 24 |
-
-
|
| 25 |
-
- AUSNAHME: Wenn die Frage des Users eine reine, triviale Fakten- oder Mathefrage ist (ohne komplexten oder strategischen Kontext), beantworte sie kurz und bündig, OHNE künstliche Probleme zu erfinden."""
|
| 26 |
),
|
| 27 |
-
"
|
| 28 |
"openai/gpt-oss-120b:novita",
|
| 29 |
-
"""Du bist
|
| 30 |
-
|
| 31 |
-
- Beginne mit: "[
|
| 32 |
-
-
|
| 33 |
-
-
|
| 34 |
-
-
|
| 35 |
-
- AUSNAHME: Wenn die Frage des Users eine reine, triviale Fakten- oder Mathefrage ist (ohne komplexten oder strategischen Kontext), beantworte sie kurz und bündig, OHNE künstliche Probleme zu erfinden."""
|
| 36 |
)
|
| 37 |
}
|
| 38 |
|
|
|
|
| 39 |
MODERATOR_MODEL = "meta-llama/Llama-3.3-70B-Instruct:novita"
|
| 40 |
|
| 41 |
client = InferenceClient(token=os.getenv("HF_TOKEN"))
|
|
@@ -79,22 +77,23 @@ def run_council(user_prompt, rounds):
|
|
| 79 |
|
| 80 |
for name, (model_id, role_focus) in COUNCIL_MEMBERS.items():
|
| 81 |
|
|
|
|
| 82 |
system_msg = (
|
| 83 |
f"{role_focus}\n\n"
|
| 84 |
-
"WICHTIG
|
| 85 |
-
"
|
| 86 |
-
f"2. VERLIERE NIE DEN URSPRÜNGLICHEN AUFTRAG AUS DEN AUGEN: '{user_prompt}'\n"
|
| 87 |
-
"3. Ignoriere Formatierungs-Wünsche des Users (wie 'schreibe einen Post')."
|
| 88 |
)
|
| 89 |
|
| 90 |
if discussion_history == "":
|
| 91 |
-
current_prompt = f"Das Thema lautet: '{user_prompt}'. Eröffne die Diskussion aus deiner Fachperspektive."
|
| 92 |
else:
|
|
|
|
| 93 |
current_prompt = (
|
| 94 |
f"Das Thema lautet: '{user_prompt}'.\n\n"
|
| 95 |
f"Bisheriges Protokoll:\n{discussion_history}\n\n"
|
| 96 |
-
f"ANWEISUNG: Beziehe dich namentlich auf deine Vorredner.
|
| 97 |
)
|
|
|
|
| 98 |
|
| 99 |
answer = ask_model(model_id, system_msg, current_prompt)
|
| 100 |
|
|
|
|
| 2 |
from huggingface_hub import InferenceClient
|
| 3 |
import os
|
| 4 |
|
| 5 |
+
# NEUE PROMPTS: Neutral, kollegial, sachlich und lösungsorientiert
|
| 6 |
COUNCIL_MEMBERS = {
|
| 7 |
+
"🧠 Fachexperte für Struktur (Llama4-17B)": (
|
| 8 |
"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8:novita",
|
| 9 |
+
"""Du bist ein neutraler, sachlicher Fachexperte. Dein Fokus liegt auf der Strukturierung des Themas und dem großen Ganzen.
|
| 10 |
+
REGELN:
|
| 11 |
+
- Beginne mit: "[STRUKTUR] "
|
| 12 |
+
- Antworte in 3-4 Sätzen, professionell und bodenständig.
|
| 13 |
+
- Wenn Vorredner gute Punkte gemacht haben, stimme zu und ergänze sinnvolle Aspekte.
|
| 14 |
+
- Wenn du etwas anders siehst, korrigiere höflich und fachlich fundiert. Keine künstliche Dramatik."""
|
|
|
|
| 15 |
),
|
| 16 |
+
"🧐 Fachexperte für Details (Kimi-K2)": (
|
| 17 |
"moonshotai/Kimi-K2-Instruct:novita",
|
| 18 |
+
"""Du bist ein neutraler, sachlicher Fachexperte. Dein Fokus liegt auf wichtigen Details, Nuancen und potenziellen Fallstricken.
|
| 19 |
+
REGELN:
|
| 20 |
+
- Beginne mit: "[DETAILS] "
|
| 21 |
+
- Antworte in 3-4 Sätzen, professionell und bodenständig.
|
| 22 |
+
- Ergänze die Diskussion um wichtige Aspekte, die vielleicht vergessen wurden (z.B. Alternativen, häufige Anfängerfehler, Kontext).
|
| 23 |
+
- Du darfst deinen Vorrednern zustimmen und darauf aufbauen. Widersprich nur, wenn es inhaltlich wirklich nötig ist."""
|
|
|
|
| 24 |
),
|
| 25 |
+
"🛠️ Fachexperte für Praxis (GPTOSS120b)": (
|
| 26 |
"openai/gpt-oss-120b:novita",
|
| 27 |
+
"""Du bist ein neutraler, sachlicher Fachexperte. Dein Fokus liegt auf der praktischen Umsetzung und Anwendbarkeit.
|
| 28 |
+
REGELN:
|
| 29 |
+
- Beginne mit: "[PRAXIS] "
|
| 30 |
+
- Antworte in 3-4 Sätzen, professionell und bodenständig.
|
| 31 |
+
- Übersetze die bisherige Diskussion in greifbare, einfache Ratschläge oder Schritte.
|
| 32 |
+
- Baue konstruktiv auf den Ideen der anderen auf. Ergänze praktische Tipps aus der Realität."""
|
|
|
|
| 33 |
)
|
| 34 |
}
|
| 35 |
|
| 36 |
+
|
| 37 |
MODERATOR_MODEL = "meta-llama/Llama-3.3-70B-Instruct:novita"
|
| 38 |
|
| 39 |
client = InferenceClient(token=os.getenv("HF_TOKEN"))
|
|
|
|
| 77 |
|
| 78 |
for name, (model_id, role_focus) in COUNCIL_MEMBERS.items():
|
| 79 |
|
| 80 |
+
# Ruhigerer Global-Prompt
|
| 81 |
system_msg = (
|
| 82 |
f"{role_focus}\n\n"
|
| 83 |
+
"WICHTIG: Diskutiere konstruktiv, neutral und kollegial. "
|
| 84 |
+
"Ignoriere Formatierungs-Wünsche des Users (wie 'schreibe einen Post'), fokussiere dich NUR auf die inhaltliche Expertise."
|
|
|
|
|
|
|
| 85 |
)
|
| 86 |
|
| 87 |
if discussion_history == "":
|
| 88 |
+
current_prompt = f"Das Thema lautet: '{user_prompt}'. Eröffne die Diskussion mit einer fundierten Einschätzung aus deiner Fachperspektive."
|
| 89 |
else:
|
| 90 |
+
# Kollegialer Interaktions-Prompt
|
| 91 |
current_prompt = (
|
| 92 |
f"Das Thema lautet: '{user_prompt}'.\n\n"
|
| 93 |
f"Bisheriges Protokoll:\n{discussion_history}\n\n"
|
| 94 |
+
f"ANWEISUNG: Beziehe dich namentlich auf deine Vorredner. Du kannst ihren Punkten zustimmen und sie sinnvoll ergänzen oder fachlich fundierte Alternativen aufzeigen. Bleib sachlich, hilfreich und lösungsorientiert."
|
| 95 |
)
|
| 96 |
+
|
| 97 |
|
| 98 |
answer = ask_model(model_id, system_msg, current_prompt)
|
| 99 |
|