update
This commit is contained in:
@@ -6,16 +6,30 @@ from .config import MINIMAX_KEY, MINIMAX_MODEL, MINIMAX_URL
|
||||
|
||||
THINK_BLOCK = re.compile(r"<think>.*?</think>", re.DOTALL)
|
||||
|
||||
SYSTEM = (
|
||||
"Du schreibst kurze deutsche Teaser für Horrorfilme. "
|
||||
BASIS = (
|
||||
"Du schreibst kurze deutsche Teaser für Filme. "
|
||||
"Antworte immer auf Deutsch, auch wenn die Vorlage englisch ist. "
|
||||
"Übersetze die Vorlage nicht, sondern formuliere neu. "
|
||||
"Genau zwei Sätze, zusammen höchstens 40 Wörter. "
|
||||
"Atmosphärisch und reißerisch, aber ohne Spoiler und ohne das Ende zu verraten. "
|
||||
"Ohne Spoiler und ohne das Ende zu verraten. "
|
||||
"Kein Filmtitel im Text, keine Anführungszeichen, keine Einleitung. "
|
||||
"Gib nur den Teaser aus."
|
||||
)
|
||||
|
||||
# Ein Horror-Ton über allem macht aus einer Bollywood-Romanze ein
|
||||
# Dorf-Mysterium. Der Ton muss zum Genre passen.
|
||||
TON_HORROR = " Schreibe atmosphärisch und reißerisch."
|
||||
TON_NEUTRAL = (
|
||||
" Triff den Ton des Films: eine Komödie klingt leicht, ein Drama ernst, "
|
||||
"ein Abenteuer nach Aufbruch. Erfinde keine Bedrohung, die es nicht gibt."
|
||||
)
|
||||
|
||||
|
||||
def system_prompt(movie):
|
||||
genres = movie.get("genres") or []
|
||||
duester = {"Horror", "Thriller", "Mystery", "Krimi"}
|
||||
return BASIS + (TON_HORROR if duester & set(genres) else TON_NEUTRAL)
|
||||
|
||||
|
||||
def build_prompt(movie):
|
||||
year = movie.get("year") or "unbekannt"
|
||||
@@ -51,7 +65,7 @@ def build_payload(movie):
|
||||
return {
|
||||
"model": MINIMAX_MODEL,
|
||||
"messages": [
|
||||
{"role": "system", "content": SYSTEM},
|
||||
{"role": "system", "content": system_prompt(movie)},
|
||||
{"role": "user", "content": build_prompt(movie)},
|
||||
],
|
||||
# M3 denkt sonst über das Token-Limit hinaus und liefert nur den <think>-Block
|
||||
|
||||
Reference in New Issue
Block a user