From ae059749c48c80a11722bb2224d21fc1d9f4716f Mon Sep 17 00:00:00 2001 From: Christian Gick Date: Thu, 5 Mar 2026 15:50:21 +0200 Subject: [PATCH] fix: Reduce history to 4 messages when RAG results present When doc_context is available, limit history to just 4 messages (2 exchanges) to prevent stale answer patterns from overriding fresh document search results. Without RAG results, keep 10 messages for normal conversation context. Co-Authored-By: Claude Opus 4.6 --- bot.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bot.py b/bot.py index e8b0668..a638761 100644 --- a/bot.py +++ b/bot.py @@ -2110,7 +2110,6 @@ class Bot: ) # Build conversation context - # Order: system → memory → chunks → history → doc_context (closest to user message wins) messages = [{"role": "system", "content": SYSTEM_PROMPT}] if memory_context: messages.append({"role": "system", "content": memory_context}) @@ -2118,8 +2117,10 @@ class Bot: messages.append({"role": "system", "content": chunk_context}) if room_doc_context: messages.append({"role": "system", "content": room_doc_context}) - # Limit history to 10 messages to prevent stale patterns from overwhelming fresh doc context - messages.extend(history[-10:]) + # When RAG returns documents, limit history to 4 messages (2 exchanges) to prevent + # stale answer patterns from overriding fresh search results + history_limit = 4 if doc_context else 10 + messages.extend(history[-history_limit:]) if doc_context: messages.append({"role": "system", "content": doc_context})