diff --git a/ga.py b/ga.py index 68ff37a5c..509b03379 100644 --- a/ga.py +++ b/ga.py @@ -485,7 +485,7 @@ def do_no_tool(self, args, response): return self._retry_or_exit("[ERROR] Blank response, regenerate and tooluse") if '[!!! 流异常中断' in content[-100:] or '!!!Error:' in content[50:][-100:] or (content.endswith('') and len(content) < 100): return self._retry_or_exit("[ERROR] Incomplete response. Regenerate and tooluse.") - if content.rstrip().endswith(''): + if 'DSML' in content[-200:] and re.search(r']*>\s*$', content.rstrip()): return self._retry_or_exit("[ERROR] Tool call format invalid; no tool was called. Regenerate using proper tool calls.") if 'max_tokens !!!]' in content[-100:]: return self._retry_or_exit("[ERROR] max_tokens limit reached. Use multi small steps to do it.")