Patryk Studzinski commited on
Commit
2de7977
·
1 Parent(s): 9b73ff6

Fix: Improve infill prompt to prevent model from copying template

Browse files
Files changed (1) hide show
  1. app/domains/cars/prompts.py +18 -16
app/domains/cars/prompts.py CHANGED
@@ -49,37 +49,39 @@ def create_infill_prompt(text_with_gaps: str, options: InfillOptions) -> list[di
49
  system_content = f"""Jesteś ekspertem od uzupełniania tekstów ogłoszeń samochodowych.
50
 
51
  ZADANIE:
52
- Uzupełnij luki oznaczone jako [GAP:n] najbardziej naturalnymi słowami {lang_instruction}.
53
  Każda luka powinna być uzupełniona słowem lub krótką frazą (1-4 słowa).
54
 
55
  ZASADY:
56
- 1. NIE zmieniaj żadnego tekstu poza lukami [GAP:n]
57
- 2. Uzupełnienia muszą pasować kontekstowo i BARDZO WAŻNE - Gramatycznie
58
  3. Używaj słownictwa typowego dla ogłoszeń motoryzacyjnych
59
- 4. Dla każdej luki podaj {options.top_n_per_gap} alternatywnych propozycji
60
 
61
  GRAMATYKA POLSKA - BARDZO WAŻNE:
62
  - Uzupełnienia MUSZĄ być w odpowiednim przypadku gramatycznym (deklinacja)!
63
- - Dopasuj formę do kontekstu zdania!
 
 
64
 
65
- WYMAGANY FORMAT ODPOWIEDZI (tylko JSON, bez komentarzy):
 
 
66
  {{
67
- "filled_text": "Pełny tekst z uzupełnionymi lukami",
68
  "gaps": [
69
- {{
70
- "index": 1,
71
- "marker": "[GAP:1]",
72
- "choice": "wybrane_słowo",
73
- "alternatives": ["alt1", "alt2"]
74
- }}
75
  ]
76
- }}"""
77
 
78
- user_content = f"""Uzupełnij luki w poniższym ogłoszeniu:
 
 
79
 
80
  {text_with_gaps}
81
 
82
- Odpowiedz TYLKO poprawnym JSON zgodnym z podanym formatem."""
83
 
84
  return [
85
  {"role": "system", "content": system_content},
 
49
  system_content = f"""Jesteś ekspertem od uzupełniania tekstów ogłoszeń samochodowych.
50
 
51
  ZADANIE:
52
+ Uzupełnij WSZYSTKIE luki oznaczone jako [GAP:n] naturalnymi słowami {lang_instruction}.
53
  Każda luka powinna być uzupełniona słowem lub krótką frazą (1-4 słowa).
54
 
55
  ZASADY:
56
+ 1. WAŻNE: Rzeczywiście uzupełnij luki - nie zwracaj tekstu z [GAP:n] w filled_text!
57
+ 2. Uzupełnienia muszą pasować kontekstowo I gramatycznie
58
  3. Używaj słownictwa typowego dla ogłoszeń motoryzacyjnych
59
+ 4. Dla każdej luki podaj {options.top_n_per_gap} alternatywne propozycje
60
 
61
  GRAMATYKA POLSKA - BARDZO WAŻNE:
62
  - Uzupełnienia MUSZĄ być w odpowiednim przypadku gramatycznym (deklinacja)!
63
+ - "w kolorze [GAP:1]" uzupełnij MIEJSCOWNIKIEM (np. "czarnym", "srebrnym")
64
+ - "z silnikiem [GAP:2]" → uzupełnij NARZĘDNIKIEM (np. "benzynowym", "dieselowym")
65
+ - "ma [GAP:3] przebieg" → uzupełnij BIERNIKIEM (np. "mały", "duży")
66
 
67
+ PRZYKŁAD:
68
+ Input: "Mam [GAP:1] Mercedes w kolorze [GAP:2]."
69
+ Output:
70
  {{
71
+ "filled_text": "Mam wspaniały Mercedes w kolorze czarnym.",
72
  "gaps": [
73
+ {{"index": 1, "marker": "[GAP:1]", "choice": "wspaniały", "alternatives": ["piękny", "zadbany"]}},
74
+ {{"index": 2, "marker": "[GAP:2]", "choice": "czarnym", "alternatives": ["srebrnym", "białym"]}}
 
 
 
 
75
  ]
76
+ }}
77
 
78
+ WYMAGANY FORMAT ODPOWIEDZI - TYLKO JSON, BEZ KOMENTARZY!"""
79
+
80
+ user_content = f"""Uzupełnij luki w poniższym ogłoszeniu samochodowym:
81
 
82
  {text_with_gaps}
83
 
84
+ Zwróć TYLKO JSON bez żadnych dodatkowych tekstów. Uzupełnij ALL gaps, w filled_text nie powinno być [GAP:n]!"""
85
 
86
  return [
87
  {"role": "system", "content": system_content},