diff --git a/homelab-ai-bot/llm.py b/homelab-ai-bot/llm.py index 6daf107e..254b586f 100644 --- a/homelab-ai-bot/llm.py +++ b/homelab-ai-bot/llm.py @@ -412,6 +412,21 @@ def ask_with_tools(question: str, tool_handlers: dict, session_id: str = None) - messages.append({"role": "user", "content": question}) + # --- RAG-Pflicht: Wenn Dokument-Keywords erkannt, rag_search erzwingen --- + _DOC_KEYWORDS = [ + "versicherung", "vertrag", "verträge", "dokument", "rente", + "finanzamt", "steuer", "grundsteuer", "familienbuch", "urkunde", + "bescheid", "police", "beitrag", "mietvertrag", "arbeitsvertrag", + "kindergeld", "rechnung", "haftpflicht", "rechtsschutz", + "lebensversicherung", "bauspar", "reisepass", "personalausweis", + "lvm", "allianz", "ergo", "huk", "nürnberger", "nuernberger", + ] + if route == MODEL_LOCAL and any(k in question.lower() for k in _DOC_KEYWORDS): + messages.insert(-1, {"role": "system", "content": + "PFLICHT: Diese Frage betrifft persoenliche Dokumente. " + "Du MUSST rag_search aufrufen BEVOR du antwortest. " + "Antworte NIEMALS aus dem Gedaechtnis oder der Session-History ohne vorher gesucht zu haben."}) + # --- Online (Sonar): kein Tool-Calling, Sonar sucht selbst --- if route == MODEL_ONLINE: try: