@@ -184,42 +184,39 @@ def update_step_info(
184
184
@time_execution_async ("--get_next_action" )
185
185
async def get_next_action (self , input_messages : list [BaseMessage ]) -> AgentOutput :
186
186
"""Get next action from LLM based on current state"""
187
+ messages_to_process = (
188
+ self .message_manager .merge_successive_human_messages (input_messages )
189
+ if self .use_deepseek_r1
190
+ else input_messages
191
+ )
192
+
193
+ ai_message = self .llm .invoke (messages_to_process )
194
+ self .message_manager ._add_message_with_tokens (ai_message )
195
+
187
196
if self .use_deepseek_r1 :
188
- merged_input_messages = self .message_manager .merge_successive_human_messages (input_messages )
189
- ai_message = self .llm .invoke (merged_input_messages )
190
- self .message_manager ._add_message_with_tokens (ai_message )
191
- logger .info (f"🤯 Start Deep Thinking: " )
197
+ logger .info ("🤯 Start Deep Thinking: " )
192
198
logger .info (ai_message .reasoning_content )
193
- logger .info (f"🤯 End Deep Thinking" )
194
- if isinstance (ai_message .content , list ):
195
- ai_content = ai_message .content [0 ].replace ("```json" , "" ).replace ("```" , "" )
196
- else :
197
- ai_content = ai_message .content .replace ("```json" , "" ).replace ("```" , "" )
198
- ai_content = repair_json (ai_content )
199
- parsed_json = json .loads (ai_content )
200
- parsed : AgentOutput = self .AgentOutput (** parsed_json )
201
- if parsed is None :
202
- logger .debug (ai_message .content )
203
- raise ValueError (f'Could not parse response.' )
199
+ logger .info ("🤯 End Deep Thinking" )
200
+
201
+ if isinstance (ai_message .content , list ):
202
+ ai_content = ai_message .content [0 ]
204
203
else :
205
- ai_message = self .llm .invoke (input_messages )
206
- self .message_manager ._add_message_with_tokens (ai_message )
207
- if isinstance (ai_message .content , list ):
208
- ai_content = ai_message .content [0 ].replace ("```json" , "" ).replace ("```" , "" )
209
- else :
210
- ai_content = ai_message .content .replace ("```json" , "" ).replace ("```" , "" )
211
- ai_content = repair_json (ai_content )
212
- parsed_json = json .loads (ai_content )
213
- parsed : AgentOutput = self .AgentOutput (** parsed_json )
214
- if parsed is None :
215
- logger .debug (ai_message .content )
216
- raise ValueError (f'Could not parse response.' )
217
-
218
- # cut the number of actions to max_actions_per_step
204
+ ai_content = ai_message .content
205
+
206
+ ai_content = ai_content .replace ("```json" , "" ).replace ("```" , "" )
207
+ ai_content = repair_json (ai_content )
208
+ parsed_json = json .loads (ai_content )
209
+ parsed : AgentOutput = self .AgentOutput (** parsed_json )
210
+
211
+ if parsed is None :
212
+ logger .debug (ai_message .content )
213
+ raise ValueError ('Could not parse response.' )
214
+
215
+ # Limit actions to maximum allowed per step
219
216
parsed .action = parsed .action [: self .max_actions_per_step ]
220
217
self ._log_response (parsed )
221
218
self .n_steps += 1
222
-
219
+
223
220
return parsed
224
221
225
222
@time_execution_async ("--step" )
0 commit comments