diff --git a/vision_agent/agent/vision_agent.py b/vision_agent/agent/vision_agent.py index c64390d5..53827876 100644 --- a/vision_agent/agent/vision_agent.py +++ b/vision_agent/agent/vision_agent.py @@ -314,15 +314,32 @@ def chat_with_code( # sometimes it gets stuck in a loop, so we force it to exit if last_response == response: - response["let_user_respond"] = True self.streaming_message( - {"role": "assistant", "error": "Stuck in loop"} + { + "role": "assistant", + "finished": True, + "content": "{}", + "error": { + "name": "Error when running conversation agent", + "value": "Agent is stuck in conversation loop, exited", + "traceback_raw": [], + }, + } + ) + break + elif response["let_user_respond"]: + self.streaming_message( + {"role": "assistant", "content": response, "finished": True} ) + break else: self.streaming_message({"role": "assistant", "content": response}) +<<<<<<< Updated upstream finished = response["let_user_respond"] +======= +>>>>>>> Stashed changes code_action = parse_execution( response["response"], test_multi_plan, customized_tool_names ) diff --git a/vision_agent/tools/meta_tools.py b/vision_agent/tools/meta_tools.py index 52d732f7..8c32e7fc 100644 --- a/vision_agent/tools/meta_tools.py +++ b/vision_agent/tools/meta_tools.py @@ -425,6 +425,7 @@ def detect_dogs(image_path: str): agent = va.agent.VisionAgentCoder() if name not in artifacts: + print(f"[Artifact {name} does not exist]") return f"[Artifact {name} does not exist]" code = artifacts[name]