diff --git a/homelab-ai-bot/llm.py b/homelab-ai-bot/llm.py index 3f3e4bf8..30577970 100644 --- a/homelab-ai-bot/llm.py +++ b/homelab-ai-bot/llm.py @@ -463,14 +463,14 @@ def ask_with_tools(question: str, tool_handlers: dict, session_id: str = None, d + "(z.B. Kfz/Auto, Rechtsschutz, Haftpflicht, Sach, Ausland, Kranken) " + "mit kurzem Beleg (Dateiname oder Ordner aus den Treffern). " + "Nicht nur den ersten Treffer nennen. " - + "Bei Kosten/Beitraegen: je Treffer Betrag und Zeitraum nennen wenn im Snippet erkennbar; sonst kurz nicht eindeutig."}, + + "Bei Kosten/Beitraegen: je Treffer Betrag und Zeitraum nennen wenn im Snippet erkennbar; sonst kurz nicht eindeutig. "+ "VERBOTEN: Antwort nur als nackte Zahl (z.B. nur eine EUR-Zeile ohne Kontext). Zu JEDEM Betrag mindestens einen **Dateinamen** aus den Treffern nennen. "+ "Bei Kfz/Fahrzeug: sagen welches Dokument sich darauf bezieht oder dass die Zuordnung unsicher ist."}, {"role": "assistant", "content": None, "tool_calls": [{"id": "forced_rag", "type": "function", "function": {"name": "rag_search", "arguments": json.dumps({"query": _rag_q, "top_k": 60})}}]}, {"role": "tool", "tool_call_id": "forced_rag", "content": str(_rag_res)[:100000]}, - {"role": "user", "content": question}, + {"role": "user", "content": question + "\n\n[Quelle: Jeder genannte EUR-Betrag mit Dateiname aus den Treffern; keine reine Ein-Zahl-Antwort.]"}, ] except Exception as e: log.warning("RAG-Pflicht Fehler: %s", e) diff --git a/homelab-ai-bot/tools/rag.py b/homelab-ai-bot/tools/rag.py index ca9b9fa7..a2585960 100644 --- a/homelab-ai-bot/tools/rag.py +++ b/homelab-ai-bot/tools/rag.py @@ -230,6 +230,9 @@ def _is_wide_recall_query(q: str) -> bool: x in ql for x in ( "kosten", + "kostet", + "wie viel", + "wieviel", "beitrag", "beiträge", "beitraege", @@ -275,6 +278,8 @@ _WIDE_SUBQUERIES = [ "Ergo Versicherung Police", "Unfallversicherung Berufsunfähigkeit", "Bausparvertrag Bauspar", + "Ford Transit Nutzfahrzeug Versicherung", + "Kfz Versicherungsschein Beitrag jährlich", ]