diff --git a/flaml/autogen/agentchat/conversable_agent.py b/flaml/autogen/agentchat/conversable_agent.py index 813634119c..ec598edde0 100644 --- a/flaml/autogen/agentchat/conversable_agent.py +++ b/flaml/autogen/agentchat/conversable_agent.py @@ -611,6 +611,11 @@ def generate_code_execution_reply( if messages is None: messages = self._oai_messages[sender] last_n_messages = code_execution_config.pop("last_n_messages", 1) + + logs = "" + exitcode = 0 + exitcode2str = "execution succeeded" + for i in range(min(len(messages), last_n_messages)): message = messages[-(i + 1)] code_blocks = extract_code(message["content"]) diff --git a/test/autogen/agentchat/test_conversable_agent.py b/test/autogen/agentchat/test_conversable_agent.py index 23f4a223c2..521fcb6553 100644 --- a/test/autogen/agentchat/test_conversable_agent.py +++ b/test/autogen/agentchat/test_conversable_agent.py @@ -2,6 +2,17 @@ from flaml.autogen.agentchat import ConversableAgent +def test_generate_oai_reply_empty_messages(): + agent = ConversableAgent( + "a0", max_consecutive_auto_reply=0, + llm_config=False, human_input_mode="NEVER" + ) + + _, output = agent.generate_code_execution_reply(messages=[], config={}) + + assert output == 'exitcode: 0 (execution succeeded)\nCode output: ' + + def test_trigger(): agent = ConversableAgent("a0", max_consecutive_auto_reply=0, llm_config=False, human_input_mode="NEVER") agent1 = ConversableAgent("a1", max_consecutive_auto_reply=0, human_input_mode="NEVER") @@ -177,6 +188,7 @@ def add_num(num_to_be_added): if __name__ == "__main__": test_trigger() + test_generate_oai_reply_empty_messages() # test_context() # test_max_consecutive_auto_reply() # test_conversable_agent(pytest.monkeypatch)