From 432aba1289eb241db3fe7e9d12d93ddb9d8e39ef Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 14:02:54 +0300 Subject: [PATCH 1/8] add max_iterations parameter for output_handler --- motleycrew/agents/output_handler.py | 4 +++- motleycrew/agents/parent.py | 15 +++++++++++++-- motleycrew/common/defaults.py | 6 +++++- motleycrew/common/exceptions.py | 11 +++++++++++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/motleycrew/agents/output_handler.py b/motleycrew/agents/output_handler.py index 3a1d5c03..63bec84d 100644 --- a/motleycrew/agents/output_handler.py +++ b/motleycrew/agents/output_handler.py @@ -5,6 +5,7 @@ from motleycrew.agents.abstract_parent import MotleyAgentAbstractParent from motleycrew.common.exceptions import InvalidOutput +from motleycrew.common import Defaults from motleycrew.tools import MotleyTool @@ -22,7 +23,8 @@ class MotleyOutputHandler(MotleyTool, ABC): _exceptions_to_handle: tuple[Exception] = (InvalidOutput,) """Exceptions that should be returned to the agent when raised in the `handle_output` method.""" - def __init__(self): + def __init__(self, max_iterations: int = Defaults.DEFAULT_OUTPUT_HANDLER_MAX_ITERATIONS): + self.max_iterations = max_iterations # number of iterations of catching an exception langchain_tool = self._create_langchain_tool() super().__init__(langchain_tool) diff --git a/motleycrew/agents/parent.py b/motleycrew/agents/parent.py index 4c95af35..4c587c17 100644 --- a/motleycrew/agents/parent.py +++ b/motleycrew/agents/parent.py @@ -12,11 +12,12 @@ from motleycrew.agents.abstract_parent import MotleyAgentAbstractParent from motleycrew.common import MotleyAgentFactory, MotleySupportedTool -from motleycrew.common import logger +from motleycrew.common import logger, Defaults from motleycrew.common.exceptions import ( AgentNotMaterialized, CannotModifyMaterializedAgent, InvalidOutput, + OutputHandlerMaxIterationsExceeded, ) from motleycrew.tools import MotleyTool @@ -131,18 +132,28 @@ def _prepare_output_handler(self) -> Optional[MotleyTool]: if isinstance(self.output_handler, MotleyOutputHandler): exceptions_to_handle = self.output_handler.exceptions_to_handle description = self.output_handler.description + max_iterations = self.output_handler.max_iterations + else: exceptions_to_handle = (InvalidOutput,) description = self.output_handler.description or f"Output handler" assert isinstance(description, str) description += "\n ONLY RETURN THE FINAL RESULT USING THIS TOOL!" + max_iterations = Defaults.DEFAULT_OUTPUT_HANDLER_MAX_ITERATIONS + + iteration = 0 def handle_agent_output(*args, **kwargs): assert self.output_handler + nonlocal iteration + try: + iteration += 1 output = self.output_handler._run(*args, **kwargs) except exceptions_to_handle as exc: - return f"{exc.__class__.__name__}: {str(exc)}" + if iteration <= max_iterations: + return f"{exc.__class__.__name__}: {str(exc)}" + raise OutputHandlerMaxIterationsExceeded(*args, **kwargs) raise DirectOutput(output) diff --git a/motleycrew/common/defaults.py b/motleycrew/common/defaults.py index e6795f16..d2e3fdb0 100644 --- a/motleycrew/common/defaults.py +++ b/motleycrew/common/defaults.py @@ -1,10 +1,11 @@ """ Module description """ + from motleycrew.common import LLMFamily from motleycrew.common import GraphStoreType class Defaults: - """ Description + """Description Attributes: DEFAULT_LLM_FAMILY (str): @@ -15,8 +16,10 @@ class Defaults: MODULE_INSTALL_COMMANDS (dict): DEFAULT_NUM_THREADS (int): DEFAULT_EVENT_LOOP_SLEEP (int): + DEFAULT_OUTPUT_HANDLER_MAX_ITERATIONS (int): """ + DEFAULT_LLM_FAMILY = LLMFamily.OPENAI DEFAULT_LLM_NAME = "gpt-4o" DEFAULT_LLM_TEMPERATURE = 0.0 @@ -35,3 +38,4 @@ class Defaults: DEFAULT_NUM_THREADS = 4 DEFAULT_EVENT_LOOP_SLEEP = 1 + DEFAULT_OUTPUT_HANDLER_MAX_ITERATIONS = 5 diff --git a/motleycrew/common/exceptions.py b/motleycrew/common/exceptions.py index 7eaefba1..78a5ebd0 100644 --- a/motleycrew/common/exceptions.py +++ b/motleycrew/common/exceptions.py @@ -142,3 +142,14 @@ class InvalidOutput(Exception): """Raised in output handlers when an agent's output is not accepted""" pass + + +class OutputHandlerMaxIterationsExceeded(BaseException): + """Raised when the output handlers iteration limit is exceeded""" + + def __init__(self, *args, **kwargs): + self.args = args + self.kwargs = kwargs + + def __str__(self): + return "\n args: {}\n kwargs: {}".format(self.args, self.kwargs) From b8d52b188cb2a365de599e10c93d0992f4655a6a Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 14:11:38 +0300 Subject: [PATCH 2/8] add tests for output handler max iterations --- .../test_langchain_output_handler.py | 38 +++++++--- .../test_llama_index_output_handler.py | 75 ++++++++++++++----- 2 files changed, 82 insertions(+), 31 deletions(-) diff --git a/tests/test_agents/test_langchain_output_handler.py b/tests/test_agents/test_langchain_output_handler.py index 9253b1a4..89eddc9a 100644 --- a/tests/test_agents/test_langchain_output_handler.py +++ b/tests/test_agents/test_langchain_output_handler.py @@ -5,7 +5,7 @@ from motleycrew.agents import MotleyOutputHandler from motleycrew.agents.langchain.tool_calling_react import ReActToolCallingAgent from motleycrew.agents.parent import DirectOutput -from motleycrew.common.exceptions import InvalidOutput +from motleycrew.common.exceptions import InvalidOutput, OutputHandlerMaxIterationsExceeded invalid_output = "Add more information about AI applications in medicine." @@ -41,7 +41,7 @@ def agent(): tools=[DuckDuckGoSearchRun()], verbose=True, chat_history=True, - output_handler=ReportOutputHandler(), + output_handler=ReportOutputHandler(max_iterations=5), ) agent.materialize() object.__setattr__(agent._agent, "plan", fake_agent_plan) @@ -56,6 +56,19 @@ def agent(): return agent +@pytest.fixture +def run_kwargs(agent): + agent_executor = agent.agent.bound.bound.steps[1].bound + + run_kwargs = { + "name_to_tool_map": {tool.name: tool for tool in agent_executor.tools}, + "color_mapping": {}, + "inputs": {}, + "intermediate_steps": [], + } + return run_kwargs + + def test_agent_plan(agent): agent_executor = agent.agent agent_action = AgentAction("tool", "tool_input", "tool_log") @@ -71,15 +84,7 @@ def test_agent_plan(agent): assert step.tool_input == "test_output" -def test_agent_take_next_step(agent): - agent_executor = agent.agent.bound.bound.steps[1].bound - - run_kwargs = { - "name_to_tool_map": {tool.name: tool for tool in agent_executor.tools}, - "color_mapping": {}, - "inputs": {}, - "intermediate_steps": [], - } +def test_agent_take_next_step(agent, run_kwargs): # test wrong output input_data = "Latest advancements in AI in 2024." @@ -95,3 +100,14 @@ def test_agent_take_next_step(agent): assert isinstance(step_result.return_values, dict) output_result = step_result.return_values.get("output") assert output_result == {"checked_output": input_data} + + +def test_output_handler_max_iteration(agent, run_kwargs): + input_data = "Latest advancements in AI in 2024." + run_kwargs["inputs"] = input_data + + with pytest.raises(OutputHandlerMaxIterationsExceeded): + for iteration in range(agent.output_handler.max_iterations + 1): + agent.agent._take_next_step(**run_kwargs) + + assert iteration == agent.output_handler.max_iterations diff --git a/tests/test_agents/test_llama_index_output_handler.py b/tests/test_agents/test_llama_index_output_handler.py index 4bd8c89c..4bdd6baa 100644 --- a/tests/test_agents/test_llama_index_output_handler.py +++ b/tests/test_agents/test_llama_index_output_handler.py @@ -3,6 +3,7 @@ import pytest from langchain_community.tools import DuckDuckGoSearchRun +from langchain_core.tools import StructuredTool try: from llama_index.core.agent.types import Task, TaskStep, TaskStepOutput @@ -17,7 +18,11 @@ from motleycrew.agents.llama_index import ReActLlamaIndexMotleyAgent from motleycrew.agents import MotleyOutputHandler -from motleycrew.common.exceptions import InvalidOutput, ModuleNotInstalled +from motleycrew.common.exceptions import ( + InvalidOutput, + ModuleNotInstalled, + OutputHandlerMaxIterationsExceeded, +) invalid_output = "Add more information about AI applications in medicine." @@ -49,7 +54,7 @@ def agent(): agent = ReActLlamaIndexMotleyAgent( description="Your goal is to uncover cutting-edge developments in AI and data science", tools=[search_tool], - output_handler=ReportOutputHandler(), + output_handler=ReportOutputHandler(max_iterations=5), verbose=True, ) agent.materialize() @@ -58,17 +63,17 @@ def agent(): except ModuleNotInstalled: return + return agent -def test_run_step(agent): +@pytest.fixture +def task_data(agent): if agent is None: return task = Task(input="User input", memory=agent._agent.memory) - task_step = TaskStep( - task_id=task.task_id, step_id=str(uuid.uuid4()), input="Test input" - ) + task_step = TaskStep(task_id=task.task_id, step_id=str(uuid.uuid4()), input="Test input") task_state = TaskState( task=task, @@ -82,6 +87,24 @@ def test_run_step(agent): output=AgentChatResponse(response="Test response"), next_steps=[], ) + return task, task_step_output + + +def find_output_handler(agent: ReActLlamaIndexMotleyAgent) -> StructuredTool: + agent_worker = agent.agent.agent_worker + output_handler = None + for tool in agent_worker._get_tools(""): + if tool.metadata.name == "output_handler": + output_handler = tool.to_langchain_tool() + break + return output_handler + + +def test_run_step(agent, task_data): + if agent is None: + return + + task, task_step_output = task_data # test not last output cur_step_output = agent._agent._run_step("", task_step_output=task_step_output) @@ -100,23 +123,12 @@ def test_run_step(agent): _task_step = step_queue.pop() assert _task_step.task_id == task.task_id - assert ( - _task_step.input - == "You must call the `{}` tool to return the output.".format( - agent.output_handler.name - ) + assert _task_step.input == "You must call the `{}` tool to return the output.".format( + agent.output_handler.name ) # test direct output - - # find output handler - agent_worker = agent.agent.agent_worker - output_handler = None - for tool in agent_worker._get_tools(""): - if tool.metadata.name == "output_handler": - output_handler = tool.to_langchain_tool() - break - + output_handler = find_output_handler(agent) if output_handler is None: return @@ -144,3 +156,26 @@ def test_run_step(agent): ) assert hasattr(agent, "direct_output") assert agent.direct_output.output == {"checked_output": output_handler_input} + + +def test_output_handler_max_iteration(agent, task_data): + if agent is None: + return + + task, task_step_output = task_data + + output_handler = find_output_handler(agent) + if output_handler is None: + return + + output_handler_input = "Latest advancements in AI in 2024." + with pytest.raises(OutputHandlerMaxIterationsExceeded): + for iteration in range(agent.output_handler.max_iterations + 1): + + agent._agent._run_step( + "", + task_step_output=task_step_output, + output_handler=output_handler, + output_handler_input=output_handler_input, + ) + assert iteration == agent.output_handler.max_iterations From 98504d682cf396b257d16dc3297bd593987794d2 Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 15:46:02 +0300 Subject: [PATCH 3/8] add max_iterations params for CoderOutputHandler in Advanced output handling.ipynb --- examples/Advanced output handling.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Advanced output handling.ipynb b/examples/Advanced output handling.ipynb index fd50b371..4bcc203a 100644 --- a/examples/Advanced output handling.ipynb +++ b/examples/Advanced output handling.ipynb @@ -104,7 +104,7 @@ "coder = ReActToolCallingAgent(\n", " name=\"coder\",\n", " tools=[PythonREPLTool()],\n", - " output_handler=CoderOutputHandler(),\n", + " output_handler=CoderOutputHandler(max_iterations=3),\n", " verbose=True,\n", ")\n", "\n", From 408dd8c29219cae0e1ed7a291865e1864cf1b27a Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 16:25:13 +0300 Subject: [PATCH 4/8] add MockTool for agent tests --- tests/test_agents/__init__.py | 21 +++++++++++++++ .../test_langchain_output_handler.py | 4 +-- .../test_llama_index_output_handler.py | 27 ++++++++----------- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/tests/test_agents/__init__.py b/tests/test_agents/__init__.py index e69de29b..313c43ae 100644 --- a/tests/test_agents/__init__.py +++ b/tests/test_agents/__init__.py @@ -0,0 +1,21 @@ +from typing import Type +from langchain_core.tools import BaseTool +from langchain_core.pydantic_v1 import BaseModel, Field + + +class MockToolInput(BaseModel): + """Input for the MockTool tool.""" + + tool_input: str = Field(description="tool_input") + + +class MockTool(BaseTool): + """Mock tool for run agent tests""" + + name: str = "mock tool" + description: str = "Mock tool for tests" + + args_schema: Type[BaseModel] = MockToolInput + + def _run(self, tool_input: str, *args, **kwargs): + return tool_input diff --git a/tests/test_agents/test_langchain_output_handler.py b/tests/test_agents/test_langchain_output_handler.py index 89eddc9a..cfdfb884 100644 --- a/tests/test_agents/test_langchain_output_handler.py +++ b/tests/test_agents/test_langchain_output_handler.py @@ -1,11 +1,11 @@ import pytest -from langchain_community.tools import DuckDuckGoSearchRun from langchain_core.agents import AgentFinish, AgentAction from motleycrew.agents import MotleyOutputHandler from motleycrew.agents.langchain.tool_calling_react import ReActToolCallingAgent from motleycrew.agents.parent import DirectOutput from motleycrew.common.exceptions import InvalidOutput, OutputHandlerMaxIterationsExceeded +from tests.test_agents import MockTool invalid_output = "Add more information about AI applications in medicine." @@ -38,7 +38,7 @@ def fake_agent_take_next_step( @pytest.fixture def agent(): agent = ReActToolCallingAgent( - tools=[DuckDuckGoSearchRun()], + tools=[MockTool()], verbose=True, chat_history=True, output_handler=ReportOutputHandler(max_iterations=5), diff --git a/tests/test_agents/test_llama_index_output_handler.py b/tests/test_agents/test_llama_index_output_handler.py index 4bdd6baa..fd451617 100644 --- a/tests/test_agents/test_llama_index_output_handler.py +++ b/tests/test_agents/test_llama_index_output_handler.py @@ -2,7 +2,6 @@ from collections import deque import pytest -from langchain_community.tools import DuckDuckGoSearchRun from langchain_core.tools import StructuredTool try: @@ -20,9 +19,9 @@ from motleycrew.agents import MotleyOutputHandler from motleycrew.common.exceptions import ( InvalidOutput, - ModuleNotInstalled, OutputHandlerMaxIterationsExceeded, ) +from tests.test_agents import MockTool invalid_output = "Add more information about AI applications in medicine." @@ -49,20 +48,16 @@ def fake_run_step(*args, **kwargs): @pytest.fixture def agent(): - try: - search_tool = DuckDuckGoSearchRun() - agent = ReActLlamaIndexMotleyAgent( - description="Your goal is to uncover cutting-edge developments in AI and data science", - tools=[search_tool], - output_handler=ReportOutputHandler(max_iterations=5), - verbose=True, - ) - agent.materialize() - agent._agent._run_step = fake_run_step - agent._agent._run_step = agent.run_step_decorator()(agent._agent._run_step) - - except ModuleNotInstalled: - return + + agent = ReActLlamaIndexMotleyAgent( + description="Your goal is to uncover cutting-edge developments in AI and data science", + tools=[MockTool()], + output_handler=ReportOutputHandler(max_iterations=5), + verbose=True, + ) + agent.materialize() + agent._agent._run_step = fake_run_step + agent._agent._run_step = agent.run_step_decorator()(agent._agent._run_step) return agent From 28b6561e4298327a5024514ab54b8dec4e9a3594 Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 16:28:53 +0300 Subject: [PATCH 5/8] replace DuckDuckGoSearchRun to MockTool --- tests/test_agents/test_agents.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_agents/test_agents.py b/tests/test_agents/test_agents.py index b5d0ef0a..7c00a0e2 100644 --- a/tests/test_agents/test_agents.py +++ b/tests/test_agents/test_agents.py @@ -1,7 +1,6 @@ import os import pytest -from langchain_community.tools import DuckDuckGoSearchRun from langchain_core.prompts.chat import ChatPromptTemplate from motleycrew.agents.crewai.crewai_agent import CrewAIMotleyAgent from motleycrew.agents.langchain.tool_calling_react import ReActToolCallingAgent @@ -9,6 +8,7 @@ from motleycrew.common.exceptions import AgentNotMaterialized, CannotModifyMaterializedAgent from motleycrew.tools.python_repl import create_repl_tool from motleycrew.tools.tool import MotleyTool +from tests.test_agents import MockTool os.environ["OPENAI_API_KEY"] = "YOUR OPENAI API KEY" @@ -28,7 +28,7 @@ def crewai_agent(self): backstory="", verbose=True, delegation=False, - tools=[DuckDuckGoSearchRun()], + tools=[MockTool()], ) return agent @@ -38,7 +38,7 @@ def langchain_agent(self): name="AI writer agent", prompt_prefix="Generate AI-generated content", description="AI-generated content", - tools=[DuckDuckGoSearchRun()], + tools=[MockTool()], verbose=True, ) return agent @@ -48,7 +48,7 @@ def llama_index_agent(self): agent = ReActLlamaIndexMotleyAgent( prompt_prefix="Uncover cutting-edge developments in AI and data science", description="AI researcher", - tools=[DuckDuckGoSearchRun()], + tools=[MockTool()], verbose=True, ) return agent @@ -65,7 +65,7 @@ def agent(self, request, crewai_agent, langchain_agent, llama_index_agent): @pytest.mark.parametrize("agent", test_agents_names, indirect=True) def test_add_tools(self, agent): assert len(agent.tools) == 1 - tools = [DuckDuckGoSearchRun()] + tools = [MockTool()] agent.add_tools(tools) assert len(agent.tools) == 1 From da83ceb41352a579d7511898a7f13f7e750d31a0 Mon Sep 17 00:00:00 2001 From: User Date: Fri, 5 Jul 2024 16:31:06 +0300 Subject: [PATCH 6/8] update OutputHandlerMaxIterationsExceeded --- motleycrew/common/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/motleycrew/common/exceptions.py b/motleycrew/common/exceptions.py index 78a5ebd0..2e7f7e48 100644 --- a/motleycrew/common/exceptions.py +++ b/motleycrew/common/exceptions.py @@ -152,4 +152,4 @@ def __init__(self, *args, **kwargs): self.kwargs = kwargs def __str__(self): - return "\n args: {}\n kwargs: {}".format(self.args, self.kwargs) + return "Maximum number of output handler iterations exceeded" From dc81493d2add9882ddd930fa89687fe25e7b596f Mon Sep 17 00:00:00 2001 From: whimo Date: Sun, 7 Jul 2024 13:20:49 +0400 Subject: [PATCH 7/8] minor fixes --- motleycrew/agents/output_handler.py | 10 +++++++++- motleycrew/agents/parent.py | 6 +++++- motleycrew/common/exceptions.py | 14 ++++++++++---- ...1287a3d0c56d7b1a692ad20f775c55b97a94f6.pkl | Bin 97278 -> 0 bytes ...8369554bc34f77f60fed42015d2bf2aa25bfa8.pkl | Bin 74427 -> 0 bytes ...93c65baceb5fd00bb449694913f6f0762b0291.pkl | Bin 4173 -> 4154 bytes ...bb9a303734251dd6391f31a0b66c2dbeb0ce44.pkl | Bin 68825 -> 0 bytes ...199526d44d510296a19e1d7244c43506147de3.pkl | Bin 0 -> 41282 bytes ...a3a217532d894d30ad60d5b902317f841507c7.pkl | Bin 52959 -> 50688 bytes ...474e97b76ebf2327c1c3a612b665abda772ddd.pkl | Bin 0 -> 96944 bytes ...e4f24bfa07c6c2b35ab4fa5f74d04ca879e6d8.pkl | Bin 0 -> 74382 bytes ...a821ea9a897de0ec73acf2bbe540c63ef5d262.pkl | Bin 0 -> 87763 bytes ...f3d49dbf534a6f999d02431db8e8de8145e52b.pkl | Bin 85986 -> 0 bytes ...bd2be9dc164849323b77cb39acc6f39e9ebae2.pkl | Bin 41304 -> 0 bytes ...d6ee28c4ae2af7f318ed0d99052f68ae0bba56.pkl | Bin 0 -> 67488 bytes ...2cd68029ac10a7a00045e8c336a82d12dc58a.pkl} | Bin 2683 -> 2678 bytes ...4f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl | Bin 0 -> 37623 bytes ...f689f066606860f329753082ecd76098d8ec9e.pkl | Bin 0 -> 3830 bytes ...3bb7af8d5562a929fdaddef8b17c20a427c41e.pkl | Bin 3903 -> 0 bytes ...cb1551e247e59d6da133f54baccaac90bcf022.pkl | Bin 60690 -> 58327 bytes ...d72a347b8777184ddce0c28e4a7afff04003cb.pkl | Bin 221594 -> 0 bytes .../advanced_output_handling_ipynb.json | 2 +- ...python_code_with_a_single_agent_ipynb.json | 2 +- 23 files changed, 26 insertions(+), 8 deletions(-) delete mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/0e875e7397179704e9c0f59a201287a3d0c56d7b1a692ad20f775c55b97a94f6.pkl delete mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/142f514247583600c43a67e4328369554bc34f77f60fed42015d2bf2aa25bfa8.pkl delete mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/38c587c596ba4a7320df077e92bb9a303734251dd6391f31a0b66c2dbeb0ce44.pkl create mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/48ad067e4cacaf445989352111199526d44d510296a19e1d7244c43506147de3.pkl create mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/4e48419bce78705da5cb3ab1ca474e97b76ebf2327c1c3a612b665abda772ddd.pkl create mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/50a29bae1049bc8ceee0c057f6e4f24bfa07c6c2b35ab4fa5f74d04ca879e6d8.pkl create mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/5e047e70f7f9302ccb2769f571a821ea9a897de0ec73acf2bbe540c63ef5d262.pkl delete mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/a0cc27bc02e7df8d60981c2aacf3d49dbf534a6f999d02431db8e8de8145e52b.pkl delete mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/b3c179a00e76ca4c0fcf3b0d09bd2be9dc164849323b77cb39acc6f39e9ebae2.pkl create mode 100644 tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/d522c1c5bf62810f60ab6905c9d6ee28c4ae2af7f318ed0d99052f68ae0bba56.pkl rename tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/{07720a3f1c589096bd9c165049cdd12711def9925eefe6d7163d44e2c052b2bf.pkl => e8c8b5987e3502ba0c54804c5e22cd68029ac10a7a00045e8c336a82d12dc58a.pkl} (61%) create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/751520ec06977835698944b912f689f066606860f329753082ecd76098d8ec9e.pkl delete mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/89aaf10840541c1f22dca15a2d3bb7af8d5562a929fdaddef8b17c20a427c41e.pkl delete mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/ccb7751e1332467bf3d3b6a720d72a347b8777184ddce0c28e4a7afff04003cb.pkl diff --git a/motleycrew/agents/output_handler.py b/motleycrew/agents/output_handler.py index 63bec84d..337f0e64 100644 --- a/motleycrew/agents/output_handler.py +++ b/motleycrew/agents/output_handler.py @@ -24,7 +24,15 @@ class MotleyOutputHandler(MotleyTool, ABC): """Exceptions that should be returned to the agent when raised in the `handle_output` method.""" def __init__(self, max_iterations: int = Defaults.DEFAULT_OUTPUT_HANDLER_MAX_ITERATIONS): - self.max_iterations = max_iterations # number of iterations of catching an exception + """Initialize the output handler tool. + + Args: + max_iterations (int): Maximum number of iterations to run the output handler. + If an exception is raised in the `handle_output` method, the output handler will return + the exception to the agent unless the number of iterations exceeds `max_iterations`, + in which case the output handler will raise OutputHandlerMaxIterationsExceeded. + """ + self.max_iterations = max_iterations langchain_tool = self._create_langchain_tool() super().__init__(langchain_tool) diff --git a/motleycrew/agents/parent.py b/motleycrew/agents/parent.py index 4c587c17..48311567 100644 --- a/motleycrew/agents/parent.py +++ b/motleycrew/agents/parent.py @@ -153,7 +153,11 @@ def handle_agent_output(*args, **kwargs): except exceptions_to_handle as exc: if iteration <= max_iterations: return f"{exc.__class__.__name__}: {str(exc)}" - raise OutputHandlerMaxIterationsExceeded(*args, **kwargs) + raise OutputHandlerMaxIterationsExceeded( + last_call_args=args, + last_call_kwargs=kwargs, + last_exception=exc, + ) raise DirectOutput(output) diff --git a/motleycrew/common/exceptions.py b/motleycrew/common/exceptions.py index 2e7f7e48..eb101b42 100644 --- a/motleycrew/common/exceptions.py +++ b/motleycrew/common/exceptions.py @@ -1,6 +1,6 @@ """ Module description""" -from typing import Any, Optional +from typing import Any, Dict, Optional from motleycrew.common import Defaults @@ -147,9 +147,15 @@ class InvalidOutput(Exception): class OutputHandlerMaxIterationsExceeded(BaseException): """Raised when the output handlers iteration limit is exceeded""" - def __init__(self, *args, **kwargs): - self.args = args - self.kwargs = kwargs + def __init__( + self, + last_call_args: tuple, + last_call_kwargs: Dict[str, Any], + last_exception: Exception, + ): + self.last_call_args = last_call_args + self.last_call_kwargs = last_call_kwargs + self.last_exception = last_exception def __str__(self): return "Maximum number of output handler iterations exceeded" diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/0e875e7397179704e9c0f59a201287a3d0c56d7b1a692ad20f775c55b97a94f6.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/0e875e7397179704e9c0f59a201287a3d0c56d7b1a692ad20f775c55b97a94f6.pkl deleted file mode 100644 index 84b065b91c31c08303becfd4ef5fecb912a8f023..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97278 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 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/142f514247583600c43a67e4328369554bc34f77f60fed42015d2bf2aa25bfa8.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/142f514247583600c43a67e4328369554bc34f77f60fed42015d2bf2aa25bfa8.pkl deleted file mode 100644 index d033d90ae051aa765aef4913ab66c37850055bc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74427 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 M#8t~Rr8G$o0PB=UuK)l5 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/38c587c596ba4a7320df077e92bb9a303734251dd6391f31a0b66c2dbeb0ce44.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/38c587c596ba4a7320df077e92bb9a303734251dd6391f31a0b66c2dbeb0ce44.pkl deleted file mode 100644 index 8dc4e20160ee561c199403f8520463ddfebd5247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68825 zcmeHQTW=f38C8)wah*$xqJ5ui9wH+YBgu9gvq%8hQDVi8hH*(2+;G*E-A`Ykf41j>LXYdxjQra&6)2$m;LjVzyI^CU#!T_ z^vbv>(&w}3)qRtv-sNWYx7qdYW@oe2>6>|>i!$#Gd~9Y9{xN-HY;qfKPvOm4r%gnc>!9A(BUw>ZIdwpVxv5#ldUq0G<+@4Ke zE3-sOzIL$xa8AqgonDz)v@fItyVqDXVaD0 z^c|hrrcaI2wmI;V+3xgrA3odoa4^=zhxnc*rm*PyYCXZU`@I{pQ#NbnupXP;`L=6?y#pPnhZMpo!WU3e& zHS|g1Pk@dJsK|qr&Q%`>sZ(F7fp&jDLFb)0sw z@@0`&+?BSSd0te-3V))r7%hhf%hTlk{E5wu>$oR)*ojRNmFNPrjrB95^k9H)slvZR zYTbUe21L-hIY0^?#>QVTr^07&hraA~^ZD`s&H-oY; zs;Zzc0uyv3Z>k-a;sN>Cmq`pj(9vf)vGGdt@2N-oJG*VQchFYt z``c=N`|-iU_G9&A??Bz#LW!-ra_ivn&h8iLD9x-ZR-4V{^`kiinG%9e)uaUeeKWES zpcG@(iQ1rJG)B)Npco4vPQ@l4WEP~IfOlSkd_lL2%*Z}NalzcWq0c5-I85bU4Rxm0 zl))o}AAA5&2GW7EW_}XB>b}RQh-9J7RUsobg|k3Q-jn+55DEEo{||IDl1y*Bz^l$jH*!XSg^lBA)Y3L0AFV4Or63`i(YgYgMn zw@c%MrgkdoFX=0W+<6o(heJECkRKtr;>tkioF!G7nSsp>hC;eoizU9I--clVMb3yulT6F$j}!0^0=!xV-Oy7Xjg-<`P=VBwb#+ zA@we>apL`P81#-iIy&mOIVYW>LkA@#%xj*f2}W9KiugecPJ9+R_mdr38ik;CPyYK3HdPy1sey3~ zEf&&MA$)<)kM>kX)403@^UnK#K4y@?A~_WpI_{w<-p^r8bOyzEs)XD*U`v3jVd(}z zxrx|9i3kk?E$ZH@XC|}5Q#>J`H|}6wnirwcc@F)iU2%~C91I`Ks0>R_lu~VIt&7cb z7}a&$v$0rLx!H^NzDRX`fBp9JiT(O!|J$wY!8c!R-|kDBa|%)TMWnM)88}C(zCb@= zsDu6K;6f*g&9G*tp0LxZ&a&&RPRA+yIQ5B24Ad~L)t8{!m4zgzOuLa;b&Il6UT!`; zzX^)nnqAwtP)5qxA(TjV__V7&tv-CP(Vah2?$3X!LXAZkkP|MUczv;3lQmcAS%wSv z_nvCcS>v*yLy26ANcGU3K1I8SAKh%I8~EM4)leIo_>13-jfT3jF3%8XOuQ&vwOIkS z+>oGDncU?H*E?{C&SYSmo&=|9$#W3ah>FuRTwe^_S@(jr5T3ZmEYYD5Hz!nx7UHE7 zLa>v<3r6bwOt!g{Iv^cQpcWEgpHW(@-SnX+_zD7|yvU56;7gH}@X#Xof~kS|f}G*v zdQ-So2&tL*-#Uuhi%tu-UPc4TRBlKrVkdO`?>k$95gc`lH(X8W{ENjP`~FiXolqcy zj}8?ceCii-xeSG0>TpoZqQNRpG7N9cGZ+DAspw4jNNm5&jA)6&MRVOVxp)5j1>Qe~ zJuDgA(jJ_TIH|1EOVnH}uqwp0pf|I|+-ihx*Wvc$A5r&ZaBMhp_ei8_JkWt8ik`wM@%9SW6n-c`OkVuwA z^@J4J0ohID1Yh~AlT7mv1?q;N8>*QwvO}1QCk*FH5r_q_@G>#?s?Sn{)iH!YX<`r- z%MgaJT!=7W32j&w_lnQrV#OkPp;{3|94HViS&~Rbs261th_K3%FvucYqJX8uvXK52 z_ZYA~njk1LLZm(+AIJ^`qCoQ?>FDdU4w$c_bpQyQq>`yyOU;P=Xau3!u16eJ$qNx< zs4#O~Z8D`u&{76=cuG#7r4*MbY-}eptP+BCLeL-t%rmy4HO7(A8bx7)5HNUJ3Z5i{ zB1_;nBZ43YGZBSDMv+mMY@j|R22==QD5(%y(FYU;I?fRec;wuR%*`+VP%>yHXePp$ zj8T`lMx49OD2h qV<5uGN+(wL9s5@(tPIkcIvG|hsr0nGwkWv~HVW$MH_aAaZ$ z;=q|$S-TfrWyGu+m7^#}9xoy&yhm{eFM}csJhD*afd^~IOI-yBc}E$gV(~sdLP1Bm z6;-eEBQI3%IwTIvKf_WSk`F$*NenncA91~Vbc2$BH&^lyGD5Icb7L)S)C$5-`(phbPHIT~01wase}LCZ=iN$16YSuu2b#%Hc&c@N=U{ z7JX;TueC32 zcw!AgtAWnxM@A|(6YugO!&zrs<;FeNm5Sim;tLOghao~&%B~?sS`uk#hTMwpc&zr2 s;j9)eZ-G#}s-eYCzosk73)xiFJ-c=-)`f1V!_W41x4YM_&B}iBUlF!9nGwn1`}n<&j~veMk9Yp|`0s1^ zUwS97Ha^YLdmUloNEwm+HQV?)TV$2=zOmdUW;l*~k-hpydN&Z<7usaOT6*{8^7uUU zouLek%?4Te{!l2$6RK&}N=E6up%!lv0l&F?o#pX)zV~Lr29cko?;f^~x>@>8qNPju zPOr1Ss!RI8Fwr5DGZ7lf7Fqh!yxKLmEMu;r*6IC2_aCfCq=kHy!ZMSkYgzgMkHcCN z3&q3QIGSax^cN4_Zao+W+&+NwSPC10?OCg3v#&EV3f>Fu6(9un2U+lw!i;gGtWY+4 z`j@+FYiHg}7{jN+cun^D%+rw+aO9b}v0~;`nYT>tF80-NlxP->z7%5{z7;Gq%tp+m z(BUYt!kuwtPJ{;3m<YK6iLIlWph`oA41C+E^B?2--rbq zZo$W6sGuv@6*q|_l$Ymsd7FI|&jEG?n8vcncGzKl%1j`ntg)VfDg{L?#i-5j$@8*vC7NV&|#*sdu#3dcnSk0S#NJ)oL4GtZdUvFL}xidPiM%+epbd+}mNo z##~Bga-`t;#90o8BueH;01T2F%R*Q0zFM|l-U>Wa02L%SiL`H6-+LY^F4<1rBz^C9 zES#{=GCvZg>Og0+1PV%Wl;BQ@bw~sNixe8LEiMdK7nTWD=N0ErO=hgF=4b+^^0N)L z$=X+ns>KP+#NXXF7z& zf2UU?$SmF^9`(1et>wP}OG^Ji6fDc`oj}=n_pk zyNCOEyVO`;b%af{%0YJa=VkDf{Y;$35*oqXCIH?8*3c4P8EE$JHK+>&oCW~l9yZFMg0~oe!ps0i>GWk9+s%iOYiI?hTks#qCHM?ZtWE@+ zgC@m7gPd!pQuSKhU2{qRXP{no9_Q+{x~VJb{J05(Qhb&txTG2`jW5hthq0?C6y*K) z%ZRHqbQoZbg`N!Rd|`W`&Upe2eFbnn*Y-0I@?7!q#McbYne3Xp&`6hg1tqiqG^@7& zfAm}j7;51=u+NJdEZlDw_dmxQGMpb@#{R0R+yMX81V5O}{A(Ecjz1UHuHXS<9loGB zH~xGBdQi}%Ob*4tB7->N$4Z>q^H`$=;R?hfk)FGd~AbfRPgp^u*(eESW=GeYv%z*&0F=N3YT8H6A2 zyMN%0mP7FIYVFmJJ~^zsyY{E7lLa3>{q~!+HAu=G03oozbCJgw#CG#ZxVNX0Bx&3%2+fnOpdCgV#;&EdDVh&9QIf~%OYpO)bYOXCq*Bf6iqc9(S7#_T7i0#j(A3yu_ zg?#?`izmm8-lOQv))5p|_|SzHR4)$U?u8b4SER_}dJ3%yJr`I5PB&OoJsC}*cN@W# zqE29PXaZmeH%_kHMM$^4{=d{RPSbD1{X$XBu3&ZMdRT(%I!$kbt54**!KrUUYt?fS z!M>w|w?Wni{UW$Z!v#Y%g6q4z>}~9VfQR5J4;L#2WCU4x$cApVfB-8GScPj%c$LR% zgZf8A1lI2px5{&ihC&ExF~*2n<+;U(To`iwp16hJmK4M;1iL8a!c7uxP#AI3T=s3F zZ1P2fFH#tRny-hI95h_S&?}@s0ue}rq+J+tX%0_OiD2akRv~^N_(gMFn6Qh2R18|= zhzLi7Al3bm(wA3y3RH1pZ1yFw3&Ac5R54=DC{RVNi>r_~miNXwfmI%?DuGoVEP85& zk@-!U>_PKXQHn(9Jm*nnIS;fjACv=C^KaFKA8ed!zhYVmK#70bIKjju6XBE18IK#RuLG`=qP zT@SRxUm9P#LlXS*f=`1+-1-O_G-6b2Ku;MFJtX-e`C{phU!glm8V4a)F4d_($rw|pZ|C!I)0!o5usZ&@WBidY2ZTxpC4}EGoYDgj5E^8E`-k0 zY%?l6g>5t3_6syYPZRVdzwwR^Q~UHKag5p%TqptiHAxpjy1KAi3;~7!40iV+ybyTN zhq196ZRFc%5yuc5JO8{M?T1i$KLm;@P*H{9ZbK#V%JN=0gy%whPKcF9jGjAUhDESJ z9?5-ax&Q4$LaV$d(waET1S>JCJhK|)hX`tsA0oh_MfC`Y;<`u*^f61|DA33DksE!FUOvN6Z1MlA`HQM2qiL+8 vk@1=;k+SMdLKT`|s0BBX@|xbIXOfG-Vtw7`mN(h!XYJPRV0}GHMzwzeiX>v} literal 0 HcmV?d00001 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/49aefe482900e5529f22f21ffea3a217532d894d30ad60d5b902317f841507c7.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/49aefe482900e5529f22f21ffea3a217532d894d30ad60d5b902317f841507c7.pkl index 4dd4367da6c9f7af60d015abf9689017767b3d5f..d537618f13086f04875a4565f1ae7c9178d68e9c 100644 GIT binary patch literal 50688 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 literal 52959 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 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/4e48419bce78705da5cb3ab1ca474e97b76ebf2327c1c3a612b665abda772ddd.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/4e48419bce78705da5cb3ab1ca474e97b76ebf2327c1c3a612b665abda772ddd.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7fa604dcd261111c798c32333941473e6619f532 GIT binary patch literal 96944 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 literal 0 HcmV?d00001 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/50a29bae1049bc8ceee0c057f6e4f24bfa07c6c2b35ab4fa5f74d04ca879e6d8.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/50a29bae1049bc8ceee0c057f6e4f24bfa07c6c2b35ab4fa5f74d04ca879e6d8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ae029a6a9f7fb22bd8c4727292f4acd4f48cf0bc GIT binary patch literal 74382 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 literal 0 HcmV?d00001 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/5e047e70f7f9302ccb2769f571a821ea9a897de0ec73acf2bbe540c63ef5d262.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/5e047e70f7f9302ccb2769f571a821ea9a897de0ec73acf2bbe540c63ef5d262.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d0408a346113418b60de67ea97841d8d8b9271f6 GIT binary patch literal 87763 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 literal 0 HcmV?d00001 diff --git a/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/a0cc27bc02e7df8d60981c2aacf3d49dbf534a6f999d02431db8e8de8145e52b.pkl b/tests/itest_cache/advanced_output_handling_ipynb/api.openai.com/v1_chat_completions/a0cc27bc02e7df8d60981c2aacf3d49dbf534a6f999d02431db8e8de8145e52b.pkl deleted file mode 100644 index da42c0c3d35e5b7e7d7e7dea3bf2d1b52343f552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85986 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%0A1>~3aRG}9SaHJ< z@fV&MxVX?P!7{m>>+!Z(kLN)bAuVB%E3mb4ppvX{;7i@%LgqyZ>A3KY!y-K>Du>rm z-%X7sl>?N+{ysIsKC`_gsq-s08i|Iu@Rp)O2o$GWI?;Aw$O(!DBH}^ZjpxX;e=(Gl z2%M2s*}hL5-^*6-g(+z$lqNHTR}1K4GJ~qh)DDRQ_f2x&2l2DVZfLXc1(WQnT>5AC!l-7u|^^w|6Qic2oH2be}KJ~SJJ994qSFI~zFbdu;vW?1ScrhiBrxZRr53e6ELN@s=9F*gx1 z%X50b05{*y(w~{|%7oX(mo|K34MMBFF6l=`DmEi$OJCq!XUuYAE<>#%_-^r;2f>#i zLRZSJAx2sfX=#Ssif265d&uyv7N)mAC@yMf@zck2MWvTbReL8_uEg5wj@rGmxp8;z K%9TlV(Eb0EGYh6!sJZfCZInu>?E;0lc$80Zjx0E+ABsl?B%XY-w|JvvCF}0t4Q{2a}u# zAslH*N?E;0l~9D0Zjx4EFfWSWFT~tkpdBmG+{U*3VjNcbz&}6945&C diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a5bf8d63b1d1c05feeb246dd77b16b7c65d92997 GIT binary patch literal 37623 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 MS@#$B(PW$d1IBOmUH||9 literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/89aaf10840541c1f22dca15a2d3bb7af8d5562a929fdaddef8b17c20a427c41e.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/89aaf10840541c1f22dca15a2d3bb7af8d5562a929fdaddef8b17c20a427c41e.pkl deleted file mode 100644 index 7f325357b2530e47cb33e0b112eb4981a0bc68b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3903 zcmbtXTXWmS71kti;@D}D>9lWs*nuBNr4&t4mUWrw1Ldf-#_Q@|;Y{RD%XE1r)9mkuQb=W>U)VV%4h#6J_`i*MW)JNt@!MzUC+7i^rKMe@}ew0 z?+Xc;P>#yud{Er&XW}Xsppjh9uIF-}#zF^)UlyOdI5|Bli;wdxBF>M`dq*>0iZAQ!W_EY`~6OP+?!Bo&f}O)rVdtsnJuyS%GGN-{D%S=ZnGMX@*B#~nLnuie|L}JgC4<0;l6#=^_Buqqfrin;VvlO4)5*N{l^ z$Y%q=IJ@Ri=&vv~+4JtR19p1eJ78xg>_zYJ_>7&LpRu#22dsB+dVX|v%6>RGXHUA| z=&gp6%-Jx>5I!kLqQ-p1B%ow*t~5m}#@y4u9x2BomPo;p zpw^n9_WXx2O z)=bR(3`?UlpKjDgn2pFifH-xuN_)_2wRGRy0s^)cS4`_M@06 zRKkX-*FIJ09`Vr$U-Sz<^fasAggRgxIX|bMm`QQUl@h+WwSzIIwhfiHu0uV*=ycI; ztF37SF1&Z0xfY^=8+*gtuDH#$%{dLFLzK>R>P#=t$z$}Xi2C>_)f;)-{aRHkp+?o7z!93K}3ronEC)1o-&hc&D@%~I-OojOUzPVNW4??dFmJ=8D_2|o6y+x`%v`(gWxeHHmUFi`{ggi z*S;8Xj6{o>thkfw;l@r`{IM_dxIdU^q56JuBclZ4onJoxwk z@cYf)X0JOO{+)mSJXgUCyOKsFziN$zF znKM%aDU<1xwhP0R$U?I*X>kH$|GQo%=coHeYO_6l+4_g~`uSh=O|Tm**)t-uq?mV> zg;_(NpD%||8UH{7dQ%ain5Q{i=1PZko#jc@X}sBC!E9$fG*Q?2RpS8Ow)YMM@0$qT zmRUU69~ufiG!uU<*ynH-ZvS%Z#1yBSBHZSO$SD7HUzk<69Nv_0r3+3%`xF^ z`nzTY!-YQP*s`foYr3>stS{{8be399l#K8w45%!YOUA(v7^(n0jVnByNH;XJv@${J zE=U3XRpFo3ygVH!ic{U!$&W&k!bdyXl^x1G+dUT4_IBG+b)tE+AUxjMfpX)bQ;j=) fcry~20g8MXrhR{F`|)OLd$`+j?oIEZ2{-=-3>^^h diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/9fff94ceca00c1c34ec18766e4cb1551e247e59d6da133f54baccaac90bcf022.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/9fff94ceca00c1c34ec18766e4cb1551e247e59d6da133f54baccaac90bcf022.pkl index 40cb63088e6a4a9aff702f2264debffa5093758a..4070910a470036fbc3b135e3f0f4a5c9623e468e 100644 GIT binary patch literal 58327 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 BRtNw9 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/ccb7751e1332467bf3d3b6a720d72a347b8777184ddce0c28e4a7afff04003cb.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/ccb7751e1332467bf3d3b6a720d72a347b8777184ddce0c28e4a7afff04003cb.pkl deleted file mode 100644 index 542ae9f8d86e4f6196535f9ba25182b1902dd647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221594 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 arr[j+1]:\n arr[j], arr[j+1] = arr[j+1], arr[j]\n swapped = True\n if not swapped:\n break\n return arr\n\n# Test the bubble sort function\nsample_array = [64, 34, 25, 12, 22, 11, 90]\nsorted_array = bubble_sort(sample_array)\nprint(sorted_array)\n\nThe `bubble_sort` function sorts an array using the bubble sort algorithm. It works by repeatedly stepping through the list, comparing adjacent elements and swapping them if they are in the wrong order. This process is repeated until the list is sorted. The outer loop runs `n` times, where `n` is the length of the array, and the inner loop runs `n-i-1` times to avoid re-checking the already sorted elements. An optimization is added by using a `swapped` flag to detect if any swaps were made during an iteration. If no swaps were made, the array is already sorted, and the algorithm can terminate early. The test case demonstrates the function by sorting a sample array." \ No newline at end of file +"def bubble_sort(arr):\n n = len(arr)\n for i in range(n):\n swapped = False\n for j in range(0, n-i-1):\n if arr[j] > arr[j+1]:\n arr[j], arr[j+1] = arr[j+1], arr[j]\n swapped = True\n if not swapped:\n break\n return arr\n\n# Test the bubble sort function\nsample_array = [64, 34, 25, 12, 22, 11, 90]\nsorted_array = bubble_sort(sample_array)\nprint(sorted_array)\n\nThe `bubble_sort` function sorts an array using the bubble sort algorithm. It works by repeatedly stepping through the list, comparing adjacent elements and swapping them if they are in the wrong order. This process is repeated until the list is sorted. The outer loop runs `n` times, where `n` is the length of the array. The inner loop runs `n-i-1` times to avoid re-checking the already sorted elements. An optimization is added by using a `swapped` flag to detect if any swaps were made during an iteration. If no swaps were made, the list is already sorted, and the algorithm can terminate early. The test case demonstrates the function by sorting a sample array." \ No newline at end of file diff --git a/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json b/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json index 144d9fb6..28346692 100644 --- a/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json +++ b/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json @@ -1 +1 @@ -"\\[\n\\begin{aligned}\nx &= \\frac{367}{71} \\\\\ny &= -\\frac{25}{49} \\\\\nx - y &= 2\n\\end{aligned}\n\\]" \ No newline at end of file +"To solve the system of linear equations given by:\n\n\\[ 725x + 727y = 1500 \\]\n\\[ 729x + 731y = 1508 \\]\n\nwe first set up the equations and solve them using the sympy library. The solutions are:\n\n\\[ x = -23 \\]\n\\[ y = 25 \\]\n\nTo find \\( x - y \\):\n\n\\[ x - y = -23 - 25 = -48 \\]\n\nThus, the values are:\n\n\\[ x = -23 \\]\n\\[ y = 25 \\]\n\\[ x - y = -48 \\]\n```" \ No newline at end of file From 3fdc7d96851ed86b495d93780cef44953421b4b4 Mon Sep 17 00:00:00 2001 From: whimo Date: Sun, 7 Jul 2024 14:04:00 +0400 Subject: [PATCH 8/8] fix tests --- ...fbf8ced61cf74463499dd891514cb7e5325e59.pkl | Bin 0 -> 51615 bytes ...763a6a727df2b3b42cb6fc9a288a3e0ea4e8ae.pkl | Bin 0 -> 58364 bytes ...aa6b8863d0d3feec1899dfa8deb79d2c486df5.pkl | Bin 0 -> 46364 bytes ...549c5eb275a3b83e3fac88d02aace6feec4cc9.pkl | Bin 0 -> 56866 bytes ...a6a34938bb2668d3d76ba7a5801760b4a6eb51.pkl | Bin 0 -> 41113 bytes ...ccb0d4f9bb21acec233ffda049f5019996c013.pkl | Bin 0 -> 62117 bytes ...9d622340c7eac1df3843b586011c3e5676ae36.pkl | Bin 0 -> 3581 bytes ...4f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl | Bin 37623 -> 0 bytes ...420b1fe415b9ee1f7eeb0df2a01ef07254926d.pkl | Bin 0 -> 47864 bytes ...8f957a0778f471e34b2a5169f154f0b15c20c6.pkl | Bin 0 -> 53115 bytes ...19d71bf7feb77558543cde88b6ee134971b5ad.pkl | Bin 0 -> 3912 bytes ...f689f066606860f329753082ecd76098d8ec9e.pkl | Bin 3830 -> 0 bytes ...086d6c119802428bd4e10e2177079d42bc527f.pkl | Bin 0 -> 42613 bytes ...8bf73d8f8c409bd447374df6769a33652c72c3.pkl | Bin 0 -> 50115 bytes ...cb1551e247e59d6da133f54baccaac90bcf022.pkl | Bin 58327 -> 64601 bytes ...7d574c05c61fd143a9059573815c38d2c9b1e7.pkl | Bin 0 -> 55366 bytes ...378e00862205c5ee5a29acebfdc33db34a988e.pkl | Bin 0 -> 60615 bytes ...46d335c0d11100ea9402706ab0bf75bfca3eb0.pkl | Bin 0 -> 62868 bytes ...24c17e25412399554b0555d3aa0b35f08eab3d.pkl | Bin 0 -> 44864 bytes ...python_code_with_a_single_agent_ipynb.json | 2 +- 20 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/10b915da79b3af5c79f0fb31f8fbf8ced61cf74463499dd891514cb7e5325e59.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/11b4c38f6b58f022f99691bfb7763a6a727df2b3b42cb6fc9a288a3e0ea4e8ae.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/29b0d013feff29c37c8a2aa14aaa6b8863d0d3feec1899dfa8deb79d2c486df5.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/2af6eae4f7a1596e28cf4bfdf6549c5eb275a3b83e3fac88d02aace6feec4cc9.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/2ff106841dfa3e905032e73975a6a34938bb2668d3d76ba7a5801760b4a6eb51.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/3c6f8ea143fba69a0da636c750ccb0d4f9bb21acec233ffda049f5019996c013.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/44b802b8c97658a162e84c2a129d622340c7eac1df3843b586011c3e5676ae36.pkl delete mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/584d9a8ef900f68c4a9296d9ed420b1fe415b9ee1f7eeb0df2a01ef07254926d.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/6b29fb659ef95585653a113e3b8f957a0778f471e34b2a5169f154f0b15c20c6.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/6d277e5cfca7e0db1e89ac67cd19d71bf7feb77558543cde88b6ee134971b5ad.pkl delete mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/751520ec06977835698944b912f689f066606860f329753082ecd76098d8ec9e.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/7a5fc4da7dfb19a4cd5529f827086d6c119802428bd4e10e2177079d42bc527f.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/951b765d6b645e5a18b04c9cda8bf73d8f8c409bd447374df6769a33652c72c3.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/bd0a0eb768ecda41e7ae1fb6fd7d574c05c61fd143a9059573815c38d2c9b1e7.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/e6390e10ab4a8252870620496b378e00862205c5ee5a29acebfdc33db34a988e.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/f03da7ec0c7359e684e8a9fc9c46d335c0d11100ea9402706ab0bf75bfca3eb0.pkl create mode 100644 tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/f14562827ad1e3aa08d2cf536c24c17e25412399554b0555d3aa0b35f08eab3d.pkl diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/10b915da79b3af5c79f0fb31f8fbf8ced61cf74463499dd891514cb7e5325e59.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/10b915da79b3af5c79f0fb31f8fbf8ced61cf74463499dd891514cb7e5325e59.pkl new file mode 100644 index 0000000000000000000000000000000000000000..81297cc6b17f933295ff2b016e9d445b16568b1c GIT binary patch literal 51615 zcmeHQZEqa65mu2pN$n;riuU`25g^GqUGx%1_5nfR7dcjJONw*~YUqR$@0O=qdyic0 zi**NAK=Y~naNoTBOGW!<@*DaLcUO{~7|DkqiQ^FrOS?-B$>H#s;c#a6AD8}J{BOqp zOfLcwYT%2?#uN3Zk~joGcXBgn_~J0-|Z%DN3l-O>*g%4%GYYc?rJ0GTH}St4lnsrgBV$dXGs9QJ(@$AV zILye5bw7(HjgHMzG)w7Z6i=#}7{0Hxv%dWRl`vA&G*5Mum*jNj=`~2(z_-Oj$|~qj zj4q-4S@U2=KGJp(eGW8+%7e>!swlMdK)21`m=73flREZ}vvV0SwLqsslQN~y24SCD z?&T3CnPL~(ENxKW%T_IFJE5NLKgq)W6FhsIgG)Sc-$2Lu*#Wa5`OfNyjvW3A(-wVR zbLj~E%g*}d8@|Z>bc2SP=cM0<$Z)r|HXl6lO$=NVxf5n0^9qe`P+wa=2xp@Smq|^d zx&{SwEF75@cPgG>*;uTJIBL;N+V+=(fk#o3_B>BR-qTqp_Pk)76n1900c8PQ?+8EI6+RC*teMD<3YZLm6mai=>&HCxZgBxSq zUtO;5U!QHz2{7KHFOz2+!T`aB*)g8YPVgU3{Op((X);THU1z2<+B@p{TQIY%8+S%NOufaP%f{hItf{w zq#ZlPG(w1~O7nALn#?VHtHRlIb*wpFM)~#QdCb$*N(`?;`>`0JqB&lvAKxe+uP#@Q zuUB+;y@GyGEG{(QA&ONTdc`H@=g}lq^6|<-gXX!v3m`P^`WYz;d6l?7hLB9YeS5;P zgYn8(dHFydEW^80l zJ#qjvMqaNiJt&X#6Rfcu_iF&{J3vt1BRMoNSN|^1t(D790Hx3n<#NP|><;A!(>`Nm=(5yzkUl^J-Y1d)()|2_fx)Z1~wk)8ZRcC)Lht>Jf zs@UyyJlN}fST1(^k7&0`uw9d*H`-OmM0v>kVjPzQ+g%8i`o6$JIZZW5eYX4)@IoSG ze7M%`8x|!dri_>}h$WRsnG1o`a=cU>FR9Z5q|_i@)I^+6a};NbpE%C4vABeHPI2@V z{@hpf-bitUG(!m02=}ujM}~kx3^uYjkkgcKs?Jh#>9jz8((kPqXJCbdvHAD+X8u|16vMe&-#nk0 zK~deJXDSR-OL4|hANfj)H^MKLSFdlJEPWYnABA_m9Nh?#n_r!52eCbVq8iHe9wYv> zs=+x=RgP1$Kg=x`==-pI&|F?ySz7(%(`(n(8a0P21~0BGt$eb$bZv2Y6&1=D_U-@? zZYJ@e!Js~fyTP@!Pgj@L1~-d+y|A1P7Dh(f@*8LQS(L;2yUR-GiJIE4whWj5m) zWl|Mrsndpv+z|))Lzfx_n`L=J=n{2dLE z192a;)QX6KxDUjA;GOK^K2Z47nE-;g4*&?_K2Wk>Q26Mf;DNXgTH-zcB+5z<_W@!t zu8SP_PmT&3BtlE!1BUogiHL#(X!!uG@@-xs4)`XwFyZ`jZ7H!8L`BrEjgWUtiHbP?5YWCr1FHy8 z5-la6D~fLGsGmppWSSgEk{FMQ7DW!k(bU4X9z_lW4pes(+B_9e=!(%Ot~PeH2_}eN zq4q0?sU&A|zyvvpDPPYjJ_U~cFTdXX#=mB0UPAv>M-HlCF^TtG(KFdWiQz1ULS;BZ zIll4wQGAS|8ho;-s0NAEkUeA_za^?ce2g9z#kVHDHTJj5?ooD+kOSF0%28~!dz7Qt qmOAaIg*S8${r#Q;m1Zthrw6B(F9$l)E!w}cwYh$9`Err>n*Rq3bGga@ literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/11b4c38f6b58f022f99691bfb7763a6a727df2b3b42cb6fc9a288a3e0ea4e8ae.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/11b4c38f6b58f022f99691bfb7763a6a727df2b3b42cb6fc9a288a3e0ea4e8ae.pkl new file mode 100644 index 0000000000000000000000000000000000000000..95296636d6b59bc40842567860f6cdb683c8bd13 GIT binary patch literal 58364 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 o>!`)obPxT_o&%MnE>dTQXV0ShM74 zeym*x0-CG#V(&bCl)gjJhsiVaJDgcrc48zKL7T)!Ff7dsc}RXd{0@0|hV!>;|NO(h zCj8InS}#qbK|Z>^W0J_(#N;pYnXmGTyfV6xq&m%#R>yTs{`lXc4|+y-O`PPtiO~m- z%D*pDUu%UylI92b=+`Y{kteXn`DWH0U2nzaG&6X{`F6^`FY~?MH)+px^U<%iw{{!( z=)EisIpuqMJ5R=S8GYEw;sA1vObpp3AN|f(yN26gq+`^2bYq);qZL`0B44FwS(1+? z^3jJn3TiGgRtL3?>*t%JKizsUf2-5e=`CDGp-BU@J>T3+^RM!x-Fv@xy#S$i;~?+- zwrEDj+0@uHzrXsIiHUR7H%X$8O`__wf39K|8vLcQ#Kfvfs!Ytcp1F*4Z0J#N+@sx2 z&$*B`blRha(Vd=&YfU>&qN&G;k|I%`6QxBWIty^2Dbh)Ty3&!0DT-Y?H2vAcg)e|M zD0@slD1u677Hn| zpgs|*g!Gri1CFe(?JVlt)o3a=F5|AEz|s@lFkdnbXlad__JOn0DY3M!PI@L`NrCMK z9WJ?@h3I68Twv3rN?o6}EK%DbwRPtt4LT=y_B;bh+;Cq&)B4^4*wB1ubx6k!{{=~% zJ{zNSjQXXQb@K&ZML$`mp5{L3bf7X^t*y-`&wLR_E)3lngUDE+@OA2F>l@*0IOH^m zsg~D}fQkiuQ|C%WLkt^>F%gAzTA^)!NoaT&)@aXT8u-G@z;rS|P-Fo7eL&hxYP4<{ z@1*CluuE;$8T3=oeIsFwHdY?5(eB>P8a1|PduM&KL0fwbYCKw_oweP)CyiZtwzWsA zD@d_&pC9e*u5W%uhfxf)E45l}<`BB+wUfI?`^KWF8+*GA-!?|uYZbb43`o(jzNv?Y zhfT{(Y5=6V2hOY3I-O~2HH&~6U$(!O|%;baGOsRURDN z={D$?w~l8F3U2tT?k|}O{ZIJWE|{)P>qj)Tw6Hj!PiSdjX-J>a{Nmi)lCE zz1ccyHqjl$vt{4%S1l}`*)szJaYchXC!@4>tYgrK<8JnZdj*4LvqA$1nDH3!)sU}h zv;}=8Nc60Q`lH(m2?PZj5`dmqiI`dnNr2GjX9yp%t*H_?cRHa2%$r4pW?wd( zaW8BYo3gjng=M`l{I3k_rag*Xzc4^$2k}MQQ|a0%NP&$Z%lMcc7(h@AuNOKF*qkIy zJ3u!=iONis=>ZL=XTFi)vb&nroX#Wt+Gz#-bhA{$o3MVYhRA467sij5i^sR;%g6Uh zxx3y#zpfTn3h)%gCJwdYl$8pK#7I6}n5j~Q>pKHMgO=}+B9S+V`vWM+@SC@XtUGA` zst!9@$V1U9JB#QCFupBr|5zNlu#muc3i>{3ssU1*mq{)Pz|PBbxb)(R6s5q6ra~3R zbhzQVS!gz0`p{*zyB5bTt~AxA0}t^7vbqo6n)Vty?Q=FQhWUDFq^-eIC@^y)Tk5_8 zp)vD%Yw1b3uTL<>GTa{%XvcwqI-bd4i8=eXk?z>I{152V>+l;U@B6T+=>AVy_t!Di z;K}QdHM8K~EA-{nxR}@%lMrFEG5h_<*sMmo4x@M6nJ3nr!JP5T0#?j(P?EX`oy=2t zERpUtqaRi2<7Q z`8l{~Uaf3onfg<9y2(`L2b{`?3$obIQ5Of;&xW(sguI)59Hp~&9B*-3Tw(>M*!6)w z_tn_vt2jfF!hg}n{WQ+7J*Th%f-O`86vVtwK3AK&$Ppay8*2vXWq`mYVhj*O;Nl_2 z5&SVoT7?vZAlM{>n>hc+==WW7q_M~UD#&1TElZDP@8zREw`|sLwTG!mT3vT$Lx*^U zZocvLO9Ua9P)G2=A=04>Cpd4TB2s~WpUg zNp+phRnS#+#o+=S1PjbA2cOTKt#7<|_T}BDd&^HxlZ`n0A_~9IPuHUrRaLJ29M0!5 z2L~LK0S2{BFS92|(D8d>kU77!Fn9aT-NnVZ>KNe?;Ms+_g*&rzi?j2$k)hZ?YGDWC z*u>s159voytGl>#_x9Y<(efNi?Ky0*AszwY2-xj0167Au-#k?xM<^(cA3$J-O*uyq z(EwTMqN+l7%)4$7V6j_XRVXb;dgvSu7$|OD99&FJ{+vL0g}~vVV1R9Q0bwsO0)h{< z5E$wLK^YDtK)?_R2vH~)h>^tH6LB}92^=>hC`3cSpo~5fAjY9|f<#pyK%At2AbOyR zNLEn=j;a+DJ{AbdXmkOBUkVTu@Onl0MuK1=3|UtLQ3IJZDUx-yqEBTg$dcN>caL4_ z%Cu;M*ajg+429w?RT&Plm{hWu4H0SN>+N=!hwDeh*x67$Z#2P1T#aF(0sfk42A*ohv9`=G8C zL=D7!AnpV2WEb~=!a2i22;x2fA&C1x$$CNI#Bt#RaUayheE>?7ks$5^#A4hNJ@DuK z3k(vWrEq#UjtLZ1kN_u(iSPl=`$7$DBE(44m4vP+TGe4E z3-QS`nKO_~9u>`s9*CoLf-^bzt5{btWOlI+AtE`t1d1j7<}c4v2IXTO=9ot^WKYybZ9 z|K|M9?Ajs-6Yj%mUR1WVDg9moxMFWdSK!tAI;6) zeo+2>QTkdp43acI%xAyu8jCuCJy#zS|9a9Y#7vuV?S>@NbMF3scmq6(dXX z*<3z*Pe(z+MaJr&(Rbr~Yxc*Fp09k=AL;ZXe2zks1{iz3wUy>yn7?}BGSac32f^`( z_WC2|LVB#z5w(r(k4)U?*s6%85f@5|LSrtJ7KP|Ezz0o{P7?H$hAyTkcD>Myml78~ z2e(0|?T9}Z6!ewL5_OuQ55pi%Qi_dEP+#|4mQs+`DM?L4y{Z3Qr*vd29UE(6of`f` zJpGhbgoBjKMEBEhTJP8_L9>)h$I-N`iQ)T7yPG?YPzfVNP4irbSwT*xo?e}_9r(7G zNKpm-iO?mKzi1xp$i~_(q0a-2q4MA|o+=6~J<@IScjf~|+MtfT@9aWKOl_c(kx7_R zUod=o<#hVGP^$h<=1E$VCQ2jOfu zm!Cla9Sg>$$(@R(ST+`GA_|*yhj#o&!ob6@LHnMkfp5%AOg{q)iV9%=7%Uwm z4Qg5DcQSHWIG`TO4CW~qyi~A3kMBI(q`m#!O=@q`&Tea~P22lzYCqVd-OauIN9{d& zvb|6D?x4h-yZmT>ueJ3V9Yry?U28NNi${=6FP%I++7A{(eZ0Td_G4pid#S>7Rtza7 z)(`dQ=%{0PNNq5w=^5umt3{{UTFoRN#uwvo){q<0!4(c2dU?}5FF)u(7-AiSkV}g- z;Mu_P=-2Ed^=qpTZSEL1#S=4Tx#0f$nc+r!Com@tkc0si*aI|(JqU3hs``f=>j&X^ za2!Aw##5|E7AI|!Qxj8b0excX--Q>S`kHrqO|%DEW)hixY6dS5trOrX0P>Vz#63dU zvBN-0*fTFwfNW#k0Fq4A;TI@bFac=tK2P(#ECx!a)Yi#K zlkV~2;7PYZ-@I}?V^Q$HFQ>mmF3dmSXQx2ACbfn%zrK2FLLbul>iU#Ep_N<9%kzGE z@nB`!~6u#=BN0NCw_iHOEjIQzi{`_;$3qb*!QVD z!V1E_zi#e6pfMLBnI_h*V9mTT^Kk~~Fme1^|fr7XqK^~LQS})cyV8rn>d%(TIgHESL6A)PR zJm61L{?wpt$TNYWM=kUp(_U~6?1V4@prAtnz!M7*LrXykEcEr6g`cvnsS_}FA)y4w zn?;3WUksf2Ug#=TWv}WB(|T$7Us={2JB;19P(bAb@rRy=(#>Z81y+Vk;{&>Hz=C3V zJ=bx->Llsd38oQ3R931jOlZ2W__Ycb)77!&*$T>UKC5A#Zj@qp1KN+p5Ead{)#~v^ z@px^ee0;m4yXO`3i(+x50S{5E;?OHDS*xK*tmJ2_i*>4Te-}Y$()BY^6!I$ZU;-hT ze*Nny%MQkWPlx?1Q^7aIly*IQgAnIX9{0b{90QxPAd8amjW+{lWc^syGM{vd1 z^P3;o?rbzyXvWHy4a=XZc_`RkTFQd$g6(3dUieK8ek4m(u-!W#zL%}Pc)G;X^%{A) z#FPvHudN1bQ4qNdo*Rl1z8;E$Tn5Bsj^L#ZK^+^7Z)TS+{y8h9IZP0 zV>zrYk5WF%DiOC zNEBod1*y&tk<|xR)=kJceU77a>89gEKNcSmAgK5PDE>T9Rd|Nt3Q3AvoMU{S#u<{7 zD5QZvA{nGriaA@*a%1^CM~bB1STjj4(j;vm(-KlCxp>Oil>QJT-GT}dG1(-;W%>MH zv)>QQP$SdPWvZpwwJaSj-Ogu!>e_7F?M+jYbO-L#h7MVq2KnQ!zCpjI4{IUk8T`JQoHTt8>o}fVA zX9fYymG#x-wVNN``gpBgakymg((3Z+&86jAODk)rP^8i54sprW#6CL#s1Kv=;MV%b zYs>4yjb)}fa!53StV~GCgq#;b$N(cg(p* zK)@nrP+g(5AQ@qDIBin#<@w?H_3OVRrd)F1=ty{gWJAJ){lo|pe8MSVLsM8#CPfoQ zKoJTPqEL7sN)omwvX6-*@bSEGA({#g${c*ch$>=5I8hfCAX}s`LF7Oc`8-7w_;!kL z;R9honUhx-!Ksmj3rI3u=4BRM2tqd1M8rU>CPlKZR`iK11=&*jw-4czy0#$FAi6<- z5lf+XSBESI*-R?gO!CX=uqI?P>A7(6N*zH5*-SQ-5g)u-k)$#;8*#I9Ekg%sa8b{#C;&{ z1Mg%P_kmhp-4H+!_W=Mw+y_eb3u=8$&KH!p51QgW03?cL6!!sQF>Z?-zGPIh2+|X`sQP#A_)M%_#X214XZ7Q)9L`76-BP7R^sEErK0UZc5u!;~RA)za5JKob_@qTSN zkR&l46)lMzh@+{AcRh+62pp*HIIvkFqRx;<@nm`NAWR=YVemuMKwsQ zhU_7$_$^Tl;$!r%D84oEt+Bsdc8{`qgdE83QI2BE-J=}EHr07YExx9E=x_HNs3dif aIzK$Wetn=*-K2y2+gqE5*RSVUuknBC=GnFY literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/2ff106841dfa3e905032e73975a6a34938bb2668d3d76ba7a5801760b4a6eb51.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/2ff106841dfa3e905032e73975a6a34938bb2668d3d76ba7a5801760b4a6eb51.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6f7d25710b121dea0d5f557c98f95797cd8d5352 GIT binary patch literal 41113 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 z zMuk4z=BleVJ!N2oyFBtjFGza0^K{2gbGn0iJN0(z?JpjHq!%Q;An66k!+Mt|^m$O# zZ_xd`52{j?p(;aF<|S2zUXb*HdthdVvo>ETWf_gBfoonDai zg7k9jT7(>=rwl!1=qW=_nXd&!q^Ar$WnPt7kox=xfyEIu)5H>1{A83Zedr|CxWyw@ za9U!};m<=oJ0YeeLz*Fw+z{`xBuAWNjYzbJWsS)0i3BWPZY-Y{h|>PHHRJ3eQu_{q zy(5~tOC}P~{SQ&vDN8{tc$?;k*IE2?`um>g2MD%)8SQ;~BhUIvw~OhYIyN76x|7VL zot`_hu|weaUh(LwFA)vi#K8!`5D{{|hiIe{&l(}); zy<)I%_p2}G=8!aKs^>cD>86&r?IEJJFKtGjt$Y%#+-aHU^yJBAc)xdgW_KU1pYGp} z_jFym?&pXCTIG<)?^UGtMmWgrDH4P}I5Emx*;rj(`|!`}8_V?>g)0IttuC*AxU{^! zw6cZ_WhCEDA94On;sd0j^!}(5n&pknwY9b7zLYv}h;@v>@Q4eKu)Aign<&-w@^_Xlxtw}4c ztF`)wQ-More*rpnscQ@52FeBkBc?)mT`;Eu7n7Qc$qe_tV@_}}>8WsWt2fbsi^--o zw885YP6e){ARxFOg+&zS!p7=4iExW6Nv+-|A1IPwV|9Z>xJ7d_j>KI1b1;Mhy|TVc zJ|GG7BFzUhABah9m2g1w0nG>A$WHTt-dNovAkcgOK%n_RbG@K9*0{f*X+CJud;mzK zWTg23OQzf81DFqJKxk@uXldoIRpyMKgO+#DDx-Ok9hB>n2#W4{7g6XaE}J^7Zp`4! zpvf7_DX_yco{-fwnw{y$i)AGZZ8S0g73tH?O=+OPBK@_rqGV*e1a3V54Hz#0h)AC` zZ~{*@=#IaWghm7!5lSP1zXP4@a7bv-M>MlGH4nQ`M9jiQFvgU(GgCx(2j@dVgNO(U z3A(PxqWWGChk1-E)2KWuDvw$%kq>BSYT~X(@&VyMcZQM8Q?f#bN+VHhpj}~R zSD>oIJvm?kw_?ihth6bJ_kVeN_q7i*RHN&^ZgZm=8WXMWT0Q3qii$H8g-UUTaJ=^N zkv2w(27g$TqJh2|Ttm)ofTC!ijnTs*ZELixiM^exN3I^h2V6aJE4Eraax1o}&)a(O lny#V0+j5}O%#HN<(fQ4ry&wyk>hR;;ovovrH;cU6_&+A#0-68- literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/44b802b8c97658a162e84c2a129d622340c7eac1df3843b586011c3e5676ae36.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/44b802b8c97658a162e84c2a129d622340c7eac1df3843b586011c3e5676ae36.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4ad32275d625fe3878d34837ae7cfbb395a06e12 GIT binary patch literal 3581 zcmbtXOK;mo5H`|0ohB`c_P(GGmQz`gWIKKUJvfQmICgADwh9EHA+N}l$!57rbC-@7 zLqG!*Xb-%V{X;qR_w*NZX1SCcr*4AQ7cX~bzMYx<=Aoaj{qfhGDf5?K3$%`hMSiox zR4j#J#qY)3+hSDI^4m&NovNNEeO7G!ncoN)^;x2dU@E`y#IDEE*Lplux;QNITRkQ~ zCltrUPTJ3J_7ZlIGB`uMj$M!Su18D<(l7F>d%ODwMgCcuaFqP4+u5#c$?x{kBm|rR zO8}b{`4`6Q25j?~CSY}bdk_DE7b(}ES1UbJMLt#JcWE3pWXuE&8=j1co&4+jr>*;5 zK=pn2jycmI_+ISn=;Cdm`oZiGEy=%5j2;=qq*Yf=*Sfqe0;hKuQo_zL{t{V8406UCJ_28 z>chj=$;L^YD9KM5V$6`oY!HGy=)oyXLZpOp#js8?@?E7=n;nvDcJ2cObjR@373`!1 z@*5|$<@VCOA^Dapx0ml_b<$dDHbIe{w5#LQ@_3#?1e-33JG5ONG1s@6Md)?NO|UyqkpvJh>W9;nTLHTOh6i1 z2)Ll3x0M23iAc~?h3-xSOhn=Ynn|KVQ~V)7)eD)!3)Ug2OjWYA2ZgcHKz;HcLd{{+D(*&nx2jp?ahi%t>D zK74l-TK+U4PUwSo4o(gpr0D!=__Qgz@#2e)X4@~m@Bg^FG+b{s#b9}L`;Aja4eO=V z!ui9_8|ASFJ^^C^wYA)CE-XG+T5KD=3z<3JZnhWan@jVp1*>Q>)Fc&LLkOCOe@-ZT zHUzvT!k8U9s=!_)1Y*_10%ZrnOocYER%0^0Aa^Pt&@x;{;!Z9uRVK*hN*gB-?DgNA zGXK@d^Pscxia(W`Nh_sUxb^(peMY6C#kjUit~KZ5{qt^=mw%)Ly$=LljERnqd7;L- z&iP5qslQ)iLDok>^zSl|Cx>Xc)Xq9o4f+}C7%Xm>{yaU3p>q3HLK^yd@8fhjIj z0n{w2pfLiOpkT%26$p2T0PvdtekY8R&jFw));%p>F@b=K&6V;VWR|TBlhfAHsy)?G tQ$9IZdaw-O#zdzaXL?}GF-uIC(3U~m^Ou$%EHsw~t4(KmGz~?z@i(P^q*VX_ literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/48d10fb190a308206f032735d34f2f6e452cd188b9f47a2c7e49d958a8e89592.pkl deleted file mode 100644 index a5bf8d63b1d1c05feeb246dd77b16b7c65d92997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37623 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 Ub*h`Rdv|kVZST^hJnJ_857C`qjsO4v literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/6d277e5cfca7e0db1e89ac67cd19d71bf7feb77558543cde88b6ee134971b5ad.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/6d277e5cfca7e0db1e89ac67cd19d71bf7feb77558543cde88b6ee134971b5ad.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3f38073876ee28c6fc4f18b89368dcc1e5a1ae9e GIT binary patch literal 3912 zcmbtXPj4H?6&IX1aqKiHiuOKOA4H`TO;VO*3GhL-)!3FT$r72M@Cwv$cSvr%JG}#WT1J`lJb7(!gcSwI>MGK znH3rmX%UC4FBoU%JdVO^j1BgBXK$AscaL^i=YSm^z1Z)tgKmd)p6{}w-Q(`7&N2Jr zL6<$<0msf0B6W{n?0?HnvpkZz)@U?VP8&|^oqSj%@RQnRm&;C-W%>>m=HLuc2n*)Q zFW1?!o@9bZN&|MdJe~T|mq$Vuxty!6f{{o#8>BhRCxA4r&%c<2D_K$~P1cGr4>Wv_ zl;bf=rC{m6u%^bRs?HEC=R`5qq)a3MoERqSskAU2G>;-^WFu2)d`@zLsfp4eA=o&Q zg6HNblS^zEoeRnO6C>pNZ`o#heawE3KbsTwn6=iMP3HS2fHbr%LtAS(+9OAk7lK_x zaqKju7n5v)*ZMinDXZ8Zl3}GUs*H5;{TdtN_XrW?NkJYW zt%$Q$!;^JnOnaryYNYQ9fW|!&5zA!w-;R+alMk;alsmBhDUX99=7`pqAyNd9L=t_Q z?62TJum~h$i+139V{lwLmZ^2vrQ^fVz*!ClIQ6|11kD3+(eZ2zThFNO^gU`82Gd7hwnx)3d}!}`a}=V28)w7ZvfL&vb528P6Qww7t%T>&8apJ zV)U1xH-+O3rW-o{Cmg`8^kjPWX`1K4_RO))(LF`TPJdFDQ?w=LeQJa>;-ehgn8q+c zV@h248|i_j=7xc$jnhVsEUvwUek_}$~1V_#)+9)AX&~# zipg_kwwhb#c{^GtgBS5OZ*e&}7~l)DymD*W{}Y^Hv%R{LMI763UsG;}QBp>d+A{Q; zCzDgqrX(H6U8MQ@%I;LjZG&9-lN7q5s0+VIK96#)QmayRIz5?|Sh~KH7-;jwYahEC zma{aU(0=xtNcG?b!4s@@Qejw!<=GdaCs9u;} z$T-Cw7?!X9dJD^)hA#z@7Bxzq_>uSERV|3@{@mk zitXtxV_p=(I**pH042J*6}@b}>%J+TjYMnr;#E7;0t zbE}&r2e1hl3)I$TySesoV}0$Bk-JuztLsyYhQ_bTA qVPm5OaHFDU*O?x)8H(JviF6rcy>NYVW39P4*lK!rr+3k08~+7IG7qr; literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/751520ec06977835698944b912f689f066606860f329753082ecd76098d8ec9e.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/751520ec06977835698944b912f689f066606860f329753082ecd76098d8ec9e.pkl deleted file mode 100644 index f6fb9480a069e6146794ede1d249a5efe744dd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3830 zcmbtX-E!N;71lU$;@GX*>9qGd@CB)qqDe}!EY0+Swv|McOvx0POvcbqAh0A60}BYd zkcd$^(_A%~!Clc8>Q&#RFVXKT7Nji4aVFJ;gxzz_cYgN#>F;;{_1}kU`X|3TQ!1Vp z`Mo}uaU>)!{#mSlUo47x{y-{6rE=s(9xo36lYctnj>i*O%+~TxzcSxT?z^MFm#R1` z^3O(GK*kr-qL+^Id!vM3q#QJo>znVT+$SMdv&bv*k57(I2Sxr-ngqo8(XfA1*^)mT zrHK!m2~U8{i~M)m>?W>**hye@{@{fE!izLekgJ!T$s%7X@`q0BH=~#f$8Wk(SoHEg zKE7-}c4v-yjB^}t<-_-)*Hgv!g&fa5ncXXcFne%T%zj(C;YLDnp^9e*_tw^~t&mIU zOu4l7*z0R6i2{xU(h zhByc~83*S61($B($7I_c>#`Hgz~qbvL6Z$7XKLn4ATvJaZmPI}U~nmPgeRNqK*Xtn zM3e>|8*}EcODFKXTZ~QivU|ACPKW({HaKP{{e#|s9S;X=@YO!+@1G8j2B+-X;~{(A z1xNQ8k%p%Sy)W5$ocKc3o6Y9>dDB?kO{QsxILSSBT{EWC=-XSlgEL4TJXjiEYp|Ni zVooHf06VQM7PhcOpQ|(xOVg!0w|wrn3b9AZIRT3V zXVFBnMmnal!SGrph zcj+WP)q=FeyurwEBUG==Syo$rM__57E%-$n{QDPmMD=qM*3Yws4l4xtMW-U~mgLR0 zAwM;^r$6zCHx$7Al!8H45of&)l?}XaXT8DdWbZnF<|AZD%1b8A|9Xxm&ECDv=%wNR zb0=`qz(KLj*#^r9BJ>5iEcsu-flwllOj%+R+nR&p+ORCjfL$9t95r0YVE`AlwT?%# zKwR~wGGlLbr~##NSy!f4%p8;9lPCzHD@p_uW$L07c>|?H9qlS&Z+Iq=;2XLOM^t=! z#78&IsttI)t62TYS2N}ym6sIMC;`Wgl-$$LvOjmI8w2v%wy3l+o zC`1J}&YHPha_e_la%xJ4D4oT^TAZOlhiE?mwdZN9Hnt*)h*s#%BHyJ}er-`ZB92Ka zT*?LFS$-1(IZO-(q6|)yP;KCe(G8~70)f|m-Z~(i}K}qfNC`owP;pQqquj3v& z|4CcU(L_x2scq3f_7iYpcESaPpuS)eC9jE$b+$ zbUQXpmzb$xp)tFN5ciro=DsQiCq+(ALVar@Uk(Dw;MIF;U5?0(C-}nTt->0Oze6y} zY_IM_8U*EY-!iVtC@FnGO%(PmlgSuZrX(FGTx9v%#&)aZE+4syCmD3ZQ1kpc`7Fx0 z%B;%N#o}yHU`6_k!1!6NNj+>@Sf!#QqiyOBz8oP8+zGLW35n6_6+h&^_xQxYrn6eL z^1G>;Y&ehda^yu3LCO!YIekWdPz=h! z-gLNjc;~O*{q4@$KZ<@at3CVo$Jll5GiLc7yt8O!a#5liyZ*r!U%&XWd+5FT=H>JK zqrOUBorYUkln&nvtOiLKFO3u}US`oM$u4|C#samy(`jvPZ9Zx3YPnmLxzTBLwl-SZ z8|_Uas4G+#71S_B=FyLZNyz8GYY~jTF*_RWDkiX1s~Xx4!t4m8VU5IUZ=>9)fFPxF zof3DYxD;6-Yn3KWU>vzT9A15M^2KrIo)q7Ws0IqoW+gP>if*x zE~><_f@q4SKc=L=Sr8VsIA6}tvmA-Rh-5;;ic1v)cSZpCX9)iwEsM_rP#CL`ir#QR zfLl9HOFfiXrZ=pp?QPu-bm=K4SP`CV?f_hyXqD^C2-Zw_qQgYCOyZHZz4K(VwKLgm MS@#$B(PW$d1IBOmUH||9 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/7a5fc4da7dfb19a4cd5529f827086d6c119802428bd4e10e2177079d42bc527f.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/7a5fc4da7dfb19a4cd5529f827086d6c119802428bd4e10e2177079d42bc527f.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9dd34bdda67869ce6df6c0537085c724165af433 GIT binary patch literal 42613 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 Gn*Rn^R%|2y literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/951b765d6b645e5a18b04c9cda8bf73d8f8c409bd447374df6769a33652c72c3.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/951b765d6b645e5a18b04c9cda8bf73d8f8c409bd447374df6769a33652c72c3.pkl new file mode 100644 index 0000000000000000000000000000000000000000..20f2ec40fb5d1b0ebfd95c55a94ba63276d6ac48 GIT binary patch literal 50115 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 literal 0 HcmV?d00001 diff --git a/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/9fff94ceca00c1c34ec18766e4cb1551e247e59d6da133f54baccaac90bcf022.pkl b/tests/itest_cache/math_via_python_code_with_a_single_agent_ipynb/api.openai.com/v1_chat_completions/9fff94ceca00c1c34ec18766e4cb1551e247e59d6da133f54baccaac90bcf022.pkl index 4070910a470036fbc3b135e3f0f4a5c9623e468e..ef236bc598f43ea5157b85a76fcb19a5b4706d8c 100644 GIT binary patch literal 64601 zcmeHQTW=f36&9L0aqTuOiuQdn6<{kN8A>uui$GBLBFBntNsy=_jwn#W-641F`eSw}1LkDe^QU!}e_ zOybhjC-wYiLz^N`oKEW9YBaw-EbOP#yKKw+<6%|AC}(U7lx^$zFMYFHc%9^?K&$6B_vI74s1k>Kw--Gt>-kDO|JdYl zE6Z(a;#QDN>)rWpK7YObc@P=*IiB;xx)^=0cXwU=U0sf%52Nb~5TctWb@YoxH-ap6 zHg)xb*@r7DZ}ilbrJ2}L_tfzlU1W*HH(iys&<&-RiRIOctWu`1>Pb9_)L{^1S)!gB z7pcBAL1c^8AiYdtR3wSYMWU%Ba*IUjEXIRTxhYGuRgJSk>8?cHdmvW|7<81*;GwzY7676JSiD|A`9A+ zqe)1ARXyOSrY3Eo&7nb8rE`@Gm5NjK%=GQof&+TmQiJqSmfmtoN()UH*-}c1(=ZOC z=24YkkX4?=sVf^Q^l6thnslZ{CV1uI;1zy*Spg;KxUXQ4`q2T{p!_T~iJD~iFD`rP z%S)6dXrH@ko3Hp?^vfL;85xrx0Le(R_I97W@KubnB+1SMM8OJ`@2J3}z7tuR%p^@| z8_Q>ufQH3W+mlA+GfbNlb0SZA>b~0dj|v@6l9oF1n8v;`dv1dY5G*nP{wW|0%a+9#sNI@nhIJ+*(Zv)fmDM}5_QvaJrb509Sp57mpk zBlYk;Qrv$aKOG(J?0%_E^8#q!Znau#r=U$woiaSecNSfJestLPeG{}jRbe?6x1@8ejC_EFAHeBXE8Kk}w z9)n2?Vwlb_ABCJuTAtZL?c73}r1bvp3V8stX8`lopbe>>TYyr>I=2r zX}4GX@ZyK9bG+YNU%tP$+E8cU@t*ri@xq7DLBOzjj^9>i_)i9Y^;|X8Y*qbUnvWVE z*h!pzqWTeL5dQsP`{0F&r+HR5AsDn3?9}trLNNF@5DZd%aRMnY1@BBm2266-ypxGw zNb$Ii&(dW%z8>pK!qJkUbbxD$_pYcw)Y{o87!Sm7A=0JYYG2e4sXtHcxw{gpyO7Kf zy;(66>HF)r94<iKVnX*C^=X3mzwFgr_= z3{pO$UgBwfJ;W#q^MQPq5A@3!$l0eWPe1tTPlKPV{JB1;qgxMt_5!>8~ziLPO(d)GRWcE#-=Vy=GU!R53ZPSSkcXUH%qn9AzWeyS3 zOR?MvqAGob1c9d{l)2vBXm8%R+u7_iE)iY=+}vny+-bHu&Gk)WC})su(;?>B#1@_z zq4aS+3_IPso9*s+t1YEQ83+?n96}u8!k+71yP<4jQq0 zqrwzKLSxGVr-ba32?+zGgqISFtwbaTMtO_QFc{n>DJU*KaA8`Q;~M9JY%3)S!n;OTaK!0v#n#iG!28ND{Owyb465R&?;T|O;BeZ;Y61V$kb;$j1 zJ~WBDeMCf-v(i}}pP+g1vQPuV^%$HyquQ6r~l)#-0dgyPWr1gWlm|nV>WLjQH}8Zw-yRc#0T-&FG12?3F}vS;hCs!c zio#NH#$0&srvrVA6b+)jQ8X}C17tuOa&g56MFV||o-NY1M&Fuv$>+tU{Vz4o5k(Er_Ypi7tK`W@f;@uR)n?UNff>T1;bC-@vyy8r+H literal 58327 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 BNPGYQ literal 0 HcmV?d00001 diff --git a/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json b/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json index 28346692..3ad8a85f 100644 --- a/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json +++ b/tests/itest_golden_data/math_via_python_code_with_a_single_agent_ipynb.json @@ -1 +1 @@ -"To solve the system of linear equations given by:\n\n\\[ 725x + 727y = 1500 \\]\n\\[ 729x + 731y = 1508 \\]\n\nwe first set up the equations and solve them using the sympy library. The solutions are:\n\n\\[ x = -23 \\]\n\\[ y = 25 \\]\n\nTo find \\( x - y \\):\n\n\\[ x - y = -23 - 25 = -48 \\]\n\nThus, the values are:\n\n\\[ x = -23 \\]\n\\[ y = 25 \\]\n\\[ x - y = -48 \\]\n```" \ No newline at end of file +"Agent stopped due to iteration limit or time limit." \ No newline at end of file