This commit is contained in:
team3
2026-08-29 11:28:25 +02:00
parent 38d5a8cfae
commit f5aeaadc42
20 changed files with 1934 additions and 184 deletions

View File

@@ -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