@@ -265,7 +265,14 @@ def sms_summary_system(
265
265
self .sms_summary_system_tpl ,
266
266
claim = _pydantic_to_str (claim ),
267
267
conversation_lang = CONFIG .workflow .conversation_lang ,
268
- messages = _pydantic_to_str (messages ),
268
+ messages = _pydantic_to_str (
269
+ [
270
+ message
271
+ for message in messages
272
+ if message .persona is not MessagePersona .TOOL
273
+ ],
274
+ exclude = {"tool_calls" },
275
+ ), # Filter out tool messages, to avoid LLM to summarize invisible messages (from the user perspective)
269
276
reminders = _pydantic_to_str (reminders ),
270
277
)
271
278
@@ -281,7 +288,14 @@ def synthesis_short_system(
281
288
self .synthesis_short_system_tpl ,
282
289
claim = _pydantic_to_str (claim ),
283
290
conversation_lang = CONFIG .workflow .conversation_lang ,
284
- messages = _pydantic_to_str (messages ),
291
+ messages = _pydantic_to_str (
292
+ [
293
+ message
294
+ for message in messages
295
+ if message .persona is not MessagePersona .TOOL
296
+ ],
297
+ exclude = {"tool_calls" },
298
+ ), # Filter out tool messages, to avoid LLM to summarize invisible messages (from the user perspective)
285
299
reminders = _pydantic_to_str (reminders ),
286
300
)
287
301
@@ -297,7 +311,15 @@ def synthesis_long_system(
297
311
self .synthesis_long_system_tpl ,
298
312
claim = _pydantic_to_str (claim ),
299
313
conversation_lang = CONFIG .workflow .conversation_lang ,
300
- messages = _pydantic_to_str (messages ),
314
+ messages = _pydantic_to_str (
315
+ [
316
+ message
317
+ for message in messages
318
+ if message .persona is not MessagePersona .TOOL
319
+ ],
320
+ exclude = {"tool_calls" },
321
+ ), # Filter out tool messages, to avoid LLM to summarize invisible messages (from the user perspective)
322
+ reminders = _pydantic_to_str (reminders ),
301
323
)
302
324
303
325
def citations (
0 commit comments