|
@@ -40,6 +40,10 @@ class CodeActResponseParser(ResponseParser):
|
|
|
if action is None:
|
|
if action is None:
|
|
|
return ''
|
|
return ''
|
|
|
for lang in ['bash', 'ipython', 'browse']:
|
|
for lang in ['bash', 'ipython', 'browse']:
|
|
|
|
|
+ # special handling for DeepSeek: it has stop-word bug and returns </execute_ipython instead of </execute_ipython>
|
|
|
|
|
+ if f'</execute_{lang}' in action and f'</execute_{lang}>' not in action:
|
|
|
|
|
+ action = action.replace(f'</execute_{lang}', f'</execute_{lang}>')
|
|
|
|
|
+
|
|
|
if f'<execute_{lang}>' in action and f'</execute_{lang}>' not in action:
|
|
if f'<execute_{lang}>' in action and f'</execute_{lang}>' not in action:
|
|
|
action += f'</execute_{lang}>'
|
|
action += f'</execute_{lang}>'
|
|
|
return action
|
|
return action
|