Executor
Attributes
attribute
id= uuid4()
attribute
execution_id= execution_id or uuid4()
attribute
max_iterations= max_iterations
attribute
registry= registry
attribute
state_storage= state_storage
attribute
llm= llm
attribute
node_actor= node_actor
attribute
status= ExecutorStatus.IDLE
attribute
iteration_count= 0
attribute
parent_executor= parent_executor
attribute
child_executorsdict[UUID, Executor]
= {}
attribute
logger= logging.LoggerAdapter(logger, {'execution_id': str(self.execution_id)})
attribute
is_childbool
Functions
func
__init____init__(self, /, registry, state_storage, node_actor, llm, *, execution_id=None, max_iterations=10, parent_executor=None, root_output_queue=None) -> None
param
selfparam
registryRegistry
param
state_storageStateStorage
param
node_actorNodeActor[T]
param
llmBaseChatModel
param
execution_idUUID | None
= None
param
max_iterationsint
= 10
param
parent_executorExecutor | None
= None
param
root_output_queueQueue[ExecutorOutput] | None
= None
Returns
None
func
stepstep(self, /, input_) -> ExecutorOutput
Execute a single step in the executor
Args: input_: ExecutorInput containing current input and target
param
selfparam
input_ExecutorInput
Returns
ExecutorOutput
func
_process_input_loop_process_input_loop(self) -> None
param
selfReturns
None
func
_on_exit_input_loop_on_exit_input_loop(self, /, task) -> None
param
selfparam
taskTask[None]
Returns
None
func
_execute_node_execute_node(self, /, input_) -> Any
Execute the node with the given input
Args: input_: ExecutorInput containing current input and target
param
selfparam
input_ExecutorInput
Returns
Any
func
_handle_next_nodes_handle_next_nodes(self, /, input_, result) -> None
Handle the next nodes based on the execution result
Args: result: Result of the node execution input_: ExecutorInput containing current input and target
param
selfparam
input_ExecutorInput
param
resultAny
Returns
None
func
_handle_sequential_execution_handle_sequential_execution(self, /, next_node_tuple, context=None) -> None
Handle sequential execution of the next node
param
selfparam
next_node_tupleNextNode
param
contextdict[str, Any] | None
= None
Returns
None
func
_handle_parallel_execution_handle_parallel_execution(self, /, next_nodes, context=None) -> None
Handle parallel execution of multiple nodes
param
selfparam
next_nodeslist[NextNode]
param
contextdict[str, Any] | None
= None
Returns
None
func
_fork_executor_fork_executor(self, /, node) -> Executor
Create child executor for the given node
param
selfparam
nodeBaseNode[S, NS]
Returns
Executor
Last updated on