41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
from autogen_agentchat.agents import CodeExecutorAgent
|
|
from autogen_ext.code_executors.local import LocalCommandLineCodeExecutor
|
|
import os
|
|
|
|
class AutogenCodeExecutor:
|
|
def __init__(self):
|
|
pass
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {
|
|
"agent_name": ("STRING", {"default": "code_executor", "multiline": False}),
|
|
},
|
|
"optional": {
|
|
"working_directory": ("STRING", {"default": os.getcwd(), "multiline": False}),
|
|
"timeout": ("INT", {"default": 10, "min": 1, "max": 60, "step": 1}),
|
|
},
|
|
}
|
|
|
|
RETURN_TYPES = ("AGENT",)
|
|
RETURN_NAMES = ("code_executor_agent",)
|
|
FUNCTION = "initialize_code_executor"
|
|
CATEGORY = "Autogen"
|
|
|
|
def initialize_code_executor(self, agent_name, working_directory=None, allow_network=False, timeout=10):
|
|
# Initialize the LocalCommandLineCodeExecutor
|
|
local_executor = LocalCommandLineCodeExecutor(
|
|
work_dir=working_directory or os.getcwd(),
|
|
timeout=timeout,
|
|
)
|
|
|
|
# Create the CodeExecutorAgent
|
|
code_executor_agent = CodeExecutorAgent(
|
|
name=agent_name,
|
|
code_executor=local_executor,
|
|
)
|
|
|
|
print(f"[AutogenCodeExecutor] Initialized code executor agent: {code_executor_agent}")
|
|
return (code_executor_agent,)
|