update
This commit is contained in:
@@ -208,12 +208,15 @@ def _titel_fix(prompt: str):
|
||||
return [{"atom": int(i), "titel": f"Konzept {i}"} for i in zeilen]
|
||||
|
||||
|
||||
def _kapitel_schnitt(prompt: str):
|
||||
ids = [int(i) for i in re.findall(r"^(\d+): ", _text_nach(prompt, "BAUSTEINE:"),
|
||||
re.MULTILINE)]
|
||||
grenzen = [ids[min(i + 1, len(ids) - 1)] for i in range(0, len(ids), 2)]
|
||||
return [{"titel": f"Themenblock {n + 1}", "bis": g}
|
||||
for n, g in enumerate(dict.fromkeys(grenzen))]
|
||||
def _themen_schnitt(prompt: str):
|
||||
# konsekutive 2er-Gruppen; Rest hängt an der letzten Gruppe (nie Singleton,
|
||||
# damit das Größen-Gate im Code deterministisch passiert)
|
||||
nummern = [int(i) for i in re.findall(r"^(\d+): ", _text_nach(prompt, "SOLL-PUNKTE:"),
|
||||
re.MULTILINE)]
|
||||
gruppen = [nummern[i:i + 2] for i in range(0, len(nummern), 2)]
|
||||
if len(gruppen) > 1 and len(gruppen[-1]) == 1:
|
||||
gruppen[-2] += gruppen.pop()
|
||||
return [{"titel": f"Fake-Thema {n + 1}", "punkte": g} for n, g in enumerate(gruppen)]
|
||||
|
||||
|
||||
def _baustein_ordnung(prompt: str):
|
||||
@@ -251,6 +254,14 @@ def _pruefer_urteil(prompt: str):
|
||||
return [{"auftrag": i, "urteil": "behoben"} for i in nummern]
|
||||
|
||||
|
||||
def _klaerung(prompt: str):
|
||||
# Default „unbegruendet": schließt Konflikte, Fake-E2E terminiert bei Note 10
|
||||
nummern = [int(i) for i in re.findall(r"^(\d+): ",
|
||||
_text_nach(prompt, "ESKALIERTE AUFTRÄGE:"),
|
||||
re.MULTILINE)]
|
||||
return [{"auftrag": i, "urteil": "unbegruendet"} for i in nummern]
|
||||
|
||||
|
||||
def _fix(prompt: str):
|
||||
kompakt = _text_nach(prompt, "SECTION (kompakt):").split("SECTION (lang):")[0].strip()
|
||||
lang = _text_nach(prompt, "SECTION (lang):").split("Regeln:")[0].strip()
|
||||
@@ -279,9 +290,10 @@ _HANDLER = {
|
||||
"Artefakt-Fix": _artefakt_fix,
|
||||
"Aussagen-Generate": _aussagen_generate, "Aussagen-Verify": _aussagen_verify,
|
||||
"Lernziele": _lernziele, "Kapitel-Intro": _kapitel_intro,
|
||||
"Kapitel-Schnitt": _kapitel_schnitt, "Level-Kalibrierung": _level_kalibrierung,
|
||||
"Themen-Schnitt": _themen_schnitt, "Level-Kalibrierung": _level_kalibrierung,
|
||||
"Baustein-Ordnung": _baustein_ordnung,
|
||||
"Guide-Writer": _writer, "Guide-Pruefer": _pruefer,
|
||||
"Guide-Pruefer-Urteil": _pruefer_urteil, "Guide-Fix": _fix,
|
||||
"Guide-Pruefer-Urteil": _pruefer_urteil, "Guide-Konflikt-Klaerung": _klaerung,
|
||||
"Guide-Fix": _fix,
|
||||
"QA-Guide-Falsch": _qa_falsch, "QA-Guide-Falsch-Check": _qa_falsch_check,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user