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 <noreply@anthropic.com>
This commit is contained in:
7
bot.py
7
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})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user