34achatbot / utils.py
Lumosdev's picture
Upload 4 files
dc9e54e verified
raw
history blame contribute delete
665 Bytes
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."