fix(rag): larger forced tool payload (12k) + list all insurance Sparten
- Forced rag_search used top_k=10 and tool content up to 12k chars (was 3k, cut off most hits). - System instruction: enumerate each Sparte/doc type for same insurer, not only first hit. - rag.py SYSTEM_PROMPT_EXTRA: same rule for multi-hit answers.
This commit is contained in:
parent
6ab0a269d2
commit
03f70fdda3
2 changed files with 10 additions and 4 deletions
|
|
@ -427,20 +427,25 @@ def ask_with_tools(question: str, tool_handlers: dict, session_id: str = None) -
|
|||
if _rag_fn:
|
||||
try:
|
||||
log.info("RAG-Pflicht: forciere rag_search fuer: %s", question[:80])
|
||||
_rag_res = _rag_fn(query=question, top_k=8)
|
||||
_rag_res = _rag_fn(query=question, top_k=10)
|
||||
if _rag_res and not _rag_res.startswith("Keine"):
|
||||
log.info("RAG-Pflicht: %d Zeichen — loesche Session-History", len(str(_rag_res)))
|
||||
messages = [
|
||||
{"role": "system", "content": _full_prompt
|
||||
+ "\n\nWICHTIG: Ignoriere fruehere Antworten. "
|
||||
+ "Die Dokumentensuche unten ist die einzige Wahrheit. "
|
||||
+ "Beantworte die Frage NUR basierend auf diesen Suchergebnissen."},
|
||||
+ "Beantworte die Frage NUR basierend auf diesen Suchergebnissen. "
|
||||
+ "Wenn mehrere Treffer zur gleichen Gesellschaft gehoeren: "
|
||||
+ "liste jede erkannte Sparte bzw. jeden Dokumenttyp separat "
|
||||
+ "(z.B. Kfz/Auto, Rechtsschutz, Haftpflicht, Sach, Ausland, Kranken) "
|
||||
+ "mit kurzem Beleg (Dateiname oder Ordner aus den Treffern). "
|
||||
+ "Nicht nur den ersten Treffer nennen."},
|
||||
{"role": "assistant", "content": None,
|
||||
"tool_calls": [{"id": "forced_rag", "type": "function",
|
||||
"function": {"name": "rag_search",
|
||||
"arguments": json.dumps({"query": question, "top_k": 8})}}]},
|
||||
"arguments": json.dumps({"query": question, "top_k": 10})}}]},
|
||||
{"role": "tool", "tool_call_id": "forced_rag",
|
||||
"content": str(_rag_res)[:3000]},
|
||||
"content": str(_rag_res)[:12000]},
|
||||
{"role": "user", "content": question},
|
||||
]
|
||||
except Exception as e:
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ ERGEBNISSE AUSWERTEN:
|
|||
- ERFINDE KEINE Details die nicht im Ergebnis stehen
|
||||
- Der Ordnerpfad (vor dem Dateinamen, getrennt durch __) zeigt die Kategorie
|
||||
- Wenn rag_search Treffer liefert: IMMER auflisten, auch wenn Inhalt unvollstaendig
|
||||
- Mehrere Treffer zur gleichen Versicherung/Gesellschaft: jede Sparte/Dokumentart separat nennen (Kfz, Rechtsschutz, Haftpflicht, Sach, Ausland, Kranken), mit Dateiname/Ordner
|
||||
- Antworte NIEMALS "keine gefunden" oder "nicht gespeichert" OHNE vorher rag_search aufgerufen zu haben"""
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue