File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed
Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -28,6 +28,9 @@ class IntentAnalyzer:
2828 3. Generate multiple TypedQueries for memory/resources/skill
2929 """
3030
31+ # Limit content length (about 10000 tokens)
32+ MAX_COMPRESSION_SUMMARY_CHARS = 30000
33+
3134 def __init__ (self , max_recent_messages : int = 5 ):
3235 """Initialize intent analyzer."""
3336 self .max_recent_messages = max_recent_messages
@@ -106,7 +109,8 @@ def _build_context_prompt(
106109 ) -> str :
107110 """Build prompt for intent analysis."""
108111 # Format compression info
109- summary = compression_summary if compression_summary else "None"
112+ summary = self ._truncate_text (compression_summary , self .MAX_COMPRESSION_SUMMARY_CHARS )
113+ summary = summary if summary else "None"
110114
111115 # Format recent messages
112116 recent = messages [- self .max_recent_messages :] if messages else []
@@ -128,6 +132,13 @@ def _build_context_prompt(
128132 },
129133 )
130134
135+ @staticmethod
136+ def _truncate_text (text : str , max_chars : int ) -> str :
137+ """Truncate text to avoid oversized prompt context."""
138+ if not text or len (text ) <= max_chars :
139+ return text
140+ return text [: max_chars - 15 ] + "\n ...(truncated)"
141+
131142 def _summarize_context (
132143 self ,
133144 compression_summary : str ,
Original file line number Diff line number Diff line change @@ -669,7 +669,11 @@ async def search(
669669 TypedQuery ,
670670 )
671671
672- session_summary = session_info .get ("summary" ) if session_info else None
672+ summary_list = session_info .get ("summaries" ) if session_info else None
673+ if isinstance (summary_list , list ):
674+ session_summary = "\n \n " .join (str (item ) for item in summary_list if item )
675+ else :
676+ session_summary = ""
673677 recent_messages = session_info .get ("recent_messages" ) if session_info else None
674678
675679 query_plan : Optional [QueryPlan ] = None
You can’t perform that action at this time.
0 commit comments