prompt tuning
This commit is contained in:
parent
8a4613da5b
commit
9be156f7e2
1 changed files with 8 additions and 28 deletions
|
|
@ -123,7 +123,7 @@ class GenerateAntragResource:
|
||||||
api_key = os.environ.get('GOOGLE_GEMINI_API_KEY')
|
api_key = os.environ.get('GOOGLE_GEMINI_API_KEY')
|
||||||
if api_key:
|
if api_key:
|
||||||
genai.configure(api_key=api_key)
|
genai.configure(api_key=api_key)
|
||||||
self.model = genai.GenerativeModel('gemini-flash-latest')
|
self.model = genai.GenerativeModel('gemini-3-pro-preview')
|
||||||
else:
|
else:
|
||||||
self.model = None
|
self.model = None
|
||||||
|
|
||||||
|
|
@ -258,14 +258,12 @@ Der Antrag soll im sachlichen, offiziellen Ton einer Fraktion verfasst sein - KE
|
||||||
|
|
||||||
Struktur:
|
Struktur:
|
||||||
- Die erste Zeile ist der Antragstitel. Der Titel soll PRÄGNANT, EINFACH und EINPRÄGSAM sein - maximal 8-10 Wörter. Vermeide komplizierte Formulierungen, technische Fachbegriffe oder zu lange Titel. Der Titel soll eine gute Außenwirkung haben und das Anliegen klar und verständlich kommunizieren. Beispiele für gute Titel: "Nachtabsenkung der öffentlichen Straßenbeleuchtung", "Vielfalt in Bewegung – Kulturelle Begleitmaßnahmen World Games 2029", "Prüfung digitaler Zahlungsdienstleister und WERO-Alternative"
|
- Die erste Zeile ist der Antragstitel. Der Titel soll PRÄGNANT, EINFACH und EINPRÄGSAM sein - maximal 8-10 Wörter. Vermeide komplizierte Formulierungen, technische Fachbegriffe oder zu lange Titel. Der Titel soll eine gute Außenwirkung haben und das Anliegen klar und verständlich kommunizieren. Beispiele für gute Titel: "Nachtabsenkung der öffentlichen Straßenbeleuchtung", "Vielfalt in Bewegung – Kulturelle Begleitmaßnahmen World Games 2029", "Prüfung digitaler Zahlungsdienstleister und WERO-Alternative"
|
||||||
- Der zweite Absatz ist der Forderungsteil. Hier können nach einem kurzen Satz auch Stichpunkte verwendet werden, wenn dies sinnvoll ist.
|
- Der zweite Absatz ist der Forderungsteil. Je nachdem: Entweder Sätze und oder Liste von Forderungen.
|
||||||
- Der letzte Teil ist Begründung/Sachverhalt (ohne diesen Titel im Text)
|
- Der letzte Teil ist Begründung/Sachverhalt (ohne diesen Titel im Text)
|
||||||
|
|
||||||
WICHTIG:
|
WICHTIG:
|
||||||
- Verwende KEINE Markdown-Formatierung. Keine **fett**, keine *kursiv*, keine /Überschriften, keine # Hashtags, keine Links oder andere Formatierung.
|
- Reinen Text, verwende KEINE Markdown-Formatierung oder sonstige Formatierungen, ausgenommen Listen und Aufzählungen.
|
||||||
- Schreibe nur reinen Text ohne jegliche Markdown-Syntax.
|
|
||||||
- Sachlicher, offizieller Ton einer Fraktion, keine persönlichen Formulierungen.
|
- Sachlicher, offizieller Ton einer Fraktion, keine persönlichen Formulierungen.
|
||||||
- Der Antragstitel muss prägnant, einfach verständlich und einprägsam sein - keine komplizierten Formulierungen!
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
prompt += anliegen
|
prompt += anliegen
|
||||||
|
|
@ -278,16 +276,14 @@ WICHTIG:
|
||||||
parsed = self._parse_gemini_response(generated_text)
|
parsed = self._parse_gemini_response(generated_text)
|
||||||
|
|
||||||
# Generate email text
|
# Generate email text
|
||||||
email_prompt = f"""Erstelle einen kurzen, höflichen E-Mail-Text in der ERSTEN PERSON (ich/wir) für eine Fraktion an eine andere Fraktion.
|
email_prompt = f"""Erstelle einen kurzen, höflichen E-Mail-Text in der ERSTEN PERSON (persönlich, ich-rede) an eine Fraktion.
|
||||||
Die E-Mail soll:
|
Die E-Mail soll:
|
||||||
- Mit "Guten Tag," beginnen
|
- Mit "Guten Tag," beginnen
|
||||||
- Das Anliegen kurz in der ersten Person erklären (basierend auf: {anliegen})
|
- Das Anliegen kurz erklären (basierend auf: {anliegen})
|
||||||
- Erwähnen, dass eine Antragsvorlage im Anhang beigefügt ist
|
- Erwähnen, dass eine Antragsvorlage im Anhang beigefügt ist
|
||||||
- Mit "Mit freundlichen Grüßen," enden
|
- Mit "Mit freundlichen Grüßen," enden
|
||||||
|
- Verwende KEINE Markdown-Formatierung
|
||||||
Der Text soll sachlich, höflich und kurz sein (2-3 Sätze zwischen Begrüßung und Grußformel). Verwende KEINE Markdown-Formatierung. Schreibe in der ERSTEN PERSON (z.B. "ich möchte", "wir bitten", "ich habe").
|
- Schreibe keinen Betreff-Entwurf dazu
|
||||||
|
|
||||||
Anliegen: {anliegen}
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
email_response = self.model.generate_content(email_prompt)
|
email_response = self.model.generate_content(email_prompt)
|
||||||
|
|
@ -296,22 +292,6 @@ Anliegen: {anliegen}
|
||||||
# Ensure proper format - clean up and ensure structure
|
# Ensure proper format - clean up and ensure structure
|
||||||
email_text = email_text.strip()
|
email_text = email_text.strip()
|
||||||
|
|
||||||
# Ensure it starts with "Guten Tag,"
|
|
||||||
if not email_text.startswith('Guten Tag'):
|
|
||||||
# Remove any existing greeting
|
|
||||||
email_text = re.sub(r'^(Guten Tag[,\s]*|Hallo[,\s]*|Sehr geehrte[^,]*,\s*)', '', email_text, flags=re.IGNORECASE)
|
|
||||||
email_text = 'Guten Tag,\n\n' + email_text.strip()
|
|
||||||
|
|
||||||
# Ensure it ends with "Mit freundlichen Grüßen,"
|
|
||||||
if 'Mit freundlichen Grüßen' not in email_text:
|
|
||||||
email_text += '\n\nMit freundlichen Grüßen,'
|
|
||||||
else:
|
|
||||||
# Make sure it's properly formatted
|
|
||||||
if not email_text.rstrip().endswith('Mit freundlichen Grüßen,'):
|
|
||||||
# Remove any existing closing and add proper one
|
|
||||||
email_text = re.sub(r'\s*Mit freundlichen Grüßen[,\s]*$', '', email_text, flags=re.IGNORECASE)
|
|
||||||
email_text = email_text.rstrip() + '\n\nMit freundlichen Grüßen,'
|
|
||||||
|
|
||||||
# Return JSON with the generated text parts
|
# Return JSON with the generated text parts
|
||||||
resp.content_type = 'application/json'
|
resp.content_type = 'application/json'
|
||||||
resp.text = json.dumps({
|
resp.text = json.dumps({
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue