File size: 665 Bytes
2ef45b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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."