diff --git a/abschrift_korrigieren.py b/abschrift_korrigieren.py index b6171d4..6be2380 100755 --- a/abschrift_korrigieren.py +++ b/abschrift_korrigieren.py @@ -180,7 +180,10 @@ PROMPTS = { "merge": MERGE_SYSTEM, "glossary": "Glossar: korrekte Schreibweisen von Namen und Begriffen, die in " "diesem Beitrag vorkommen. Falsch erkannte Varianten davon in der Abschrift " - "stillschweigend korrigieren:", + "stillschweigend korrigieren. Korrigiere nur die Schreibweise dessen, was " + "gesagt wurde: Ergänze keine Vornamen, Titel oder Namensteile aus dem Glossar, " + "die in der Abschrift fehlen (aus „Dobrind“ wird „Dobrindt“, nicht " + "„Alexander Dobrindt“).", "excerpt": "Der Text ist ein Ausschnitt aus einem längeren Beitrag und kann mitten " "im Satz beginnen oder enden. Vervollständige angeschnittene Sätze nicht und " "ergänze kein Wort, auch nicht in einer Markierung; lass einen unvollständigen " @@ -193,7 +196,10 @@ PROMPTS = { "merge": MERGE_SYSTEM_EN, "glossary": "Glossary: correct spellings of names and terms that occur in " "this recording. Silently correct misrecognized variants of them in the " - "transcript:", + "transcript. Correct only the spelling of what was said: do not add first " + "names, titles or other parts of a name from the glossary that are missing " + "in the transcript (\"Mearshimer\" becomes \"Mearsheimer\", not " + "\"John Mearsheimer\").", "excerpt": "The text is an excerpt from a longer recording and may begin or end " "in the middle of a sentence. Do not complete cut-off sentences and do not " "add any word, not even in a mark; leave an incomplete beginning or ending " @@ -227,7 +233,7 @@ def build_system(glossary, lang=DEFAULT_LANGUAGE, excerpt=False): if not glossary: return system terms = "\n".join(f"- {term}" for term in glossary) - return f"{system}\n{prompts['glossary']}\n{terms}\n" + return f"{system}\n{prompts['glossary']}\n\n{terms}\n" def read_glossary(path): diff --git a/tests/test_abschrift_korrigieren.py b/tests/test_abschrift_korrigieren.py index 1bf9e1d..ec5788b 100644 --- a/tests/test_abschrift_korrigieren.py +++ b/tests/test_abschrift_korrigieren.py @@ -117,6 +117,8 @@ def test_build_system_appends_terms(): system = ak.build_system(["Kreml", "Egon Bahr"]) assert system.startswith(ak.SYSTEM) assert "- Kreml\n- Egon Bahr" in system + # The model must not complete names from the glossary + assert "Ergänze keine Vornamen" in system SAMPLE_GLOSSARIES = [ @@ -576,6 +578,7 @@ def test_build_system_english(): system = ak.build_system(["Mearsheimer"], "en") assert system.startswith(ak.SYSTEM_EN) assert "Glossary:" in system and "- Mearsheimer" in system + assert "do not add first" in system def test_main_english_prompts(sample_copy, monkeypatch, capsys):