From 09a491892151b2adef9025d741b6e7c26f877fcf Mon Sep 17 00:00:00 2001 From: Jack Gerrits Date: Tue, 5 Mar 2024 18:09:18 -0500 Subject: [PATCH] Move executor diag print to conversable_agent (#1867) * print in conversable agent, not in executor * fix fstring --- autogen/agentchat/conversable_agent.py | 19 +++++++++++++++++++ .../coding/local_commandline_code_executor.py | 10 ---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/autogen/agentchat/conversable_agent.py b/autogen/agentchat/conversable_agent.py index 19f2a4c2a0dd..aa2af05c69d6 100644 --- a/autogen/agentchat/conversable_agent.py +++ b/autogen/agentchat/conversable_agent.py @@ -1271,6 +1271,25 @@ def _generate_code_execution_reply_using_executor( code_blocks = self._code_executor.code_extractor.extract_code_blocks(message["content"]) if len(code_blocks) == 0: continue + + num_code_blocks = len(code_blocks) + if num_code_blocks > 1: + print( + colored( + f"\n>>>>>>>> EXECUTING CODE BLOCK (inferred language is {code_blocks[0].language})...", + "red", + ), + flush=True, + ) + else: + print( + colored( + f"\n>>>>>>>> EXECUTING {num_code_blocks} CODE BLOCKS (inferred languages are [{', '.join([x.language for x in code_blocks])}])...", + "red", + ), + flush=True, + ) + # found code blocks, execute code. code_result = self._code_executor.execute_code_blocks(code_blocks) exitcode2str = "execution succeeded" if code_result.exit_code == 0 else "execution failed" diff --git a/autogen/coding/local_commandline_code_executor.py b/autogen/coding/local_commandline_code_executor.py index 0ed4ce1ae828..e63a4ed75f9a 100644 --- a/autogen/coding/local_commandline_code_executor.py +++ b/autogen/coding/local_commandline_code_executor.py @@ -5,13 +5,11 @@ from typing import Any, ClassVar, List, Optional from pydantic import BaseModel, Field, field_validator -from autogen.agentchat.conversable_agent import colored from ..agentchat.agent import LLMAgent from ..code_utils import execute_code from .base import CodeBlock, CodeExtractor, CodeResult from .markdown_code_extractor import MarkdownCodeExtractor - __all__ = ( "LocalCommandlineCodeExecutor", "CommandlineCodeResult", @@ -139,14 +137,6 @@ def execute_code_blocks(self, code_blocks: List[CodeBlock]) -> CommandlineCodeRe lang, code = code_block.language, code_block.code LocalCommandlineCodeExecutor.sanitize_command(lang, code) - - print( - colored( - f"\n>>>>>>>> EXECUTING CODE BLOCK {i} (inferred language is {lang})...", - "red", - ), - flush=True, - ) filename_uuid = uuid.uuid4().hex filename = None if lang in ["bash", "shell", "sh", "pwsh", "powershell", "ps1"]: