import re def lade_skript(datei="data/sachkunde.md"): with open(datei, "r", encoding="utf-8") as f: return f.read() def teile_in_abschnitte(text, max_länge=500): roh = re.split(r"\n{2,}", text) # Trenne nach Leerzeilen return [abschnitt.strip() for abschnitt in roh if len(abschnitt.strip()) > 30] def finde_passenden_abschnitt(frage, abschnitte): frage = frage.lower() treffer = [a for a in abschnitte if any(w in a.lower() for w in frage.split())] if treffer: return max(treffer, key=lambda x: sum(w in x.lower() for w in frage.split())) return "Ich konnte keine passende Stelle im Skript finden."