Spaces:
Running
Running
Henri Bonamy
commited on
Commit
·
86c3c8b
1
Parent(s):
cd123dd
Fixed assistant -> assistant messages after compaction
Browse files
agent/context_manager/manager.py
CHANGED
|
@@ -62,10 +62,14 @@ class ContextManager:
|
|
| 62 |
)
|
| 63 |
|
| 64 |
# Don't summarize a certain number of just-preceding messages
|
| 65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
|
| 67 |
-
|
| 68 |
-
messages_to_summarize = self.items[1
|
| 69 |
|
| 70 |
# improbable, messages would have to very long
|
| 71 |
if not messages_to_summarize:
|
|
@@ -87,7 +91,7 @@ class ContextManager:
|
|
| 87 |
role="assistant", content=response.choices[0].message.content
|
| 88 |
)
|
| 89 |
|
| 90 |
-
# Reconstruct: system + summary + recent
|
| 91 |
if system_msg:
|
| 92 |
self.items = [system_msg, summarized_message] + recent_messages
|
| 93 |
else:
|
|
|
|
| 62 |
)
|
| 63 |
|
| 64 |
# Don't summarize a certain number of just-preceding messages
|
| 65 |
+
# Walk back to find a user message to make sure we keep an assistant -> user ->
|
| 66 |
+
# assistant general conversation structure
|
| 67 |
+
idx = len(self.items) - self.untouched_messages
|
| 68 |
+
while idx > 1 and self.items[idx].role != "user":
|
| 69 |
+
idx -= 1
|
| 70 |
|
| 71 |
+
recent_messages = self.items[idx:]
|
| 72 |
+
messages_to_summarize = self.items[1:idx]
|
| 73 |
|
| 74 |
# improbable, messages would have to very long
|
| 75 |
if not messages_to_summarize:
|
|
|
|
| 91 |
role="assistant", content=response.choices[0].message.content
|
| 92 |
)
|
| 93 |
|
| 94 |
+
# Reconstruct: system + summary + recent messages (includes tools)
|
| 95 |
if system_msg:
|
| 96 |
self.items = [system_msg, summarized_message] + recent_messages
|
| 97 |
else:
|