Liman

Executor

Attributes

attributeid
= uuid4()
attributeexecution_id
= execution_id or uuid4()
attributemax_iterations
= max_iterations
attributeregistry
= registry
attributestate_storage
= state_storage
attributellm
= llm
attributenode_actor
= node_actor
attributestatus
= ExecutorStatus.IDLE
attributeiteration_count
= 0
attributeparent_executor
= parent_executor
attributechild_executorsdict[UUID, Executor]
= {}
attributelogger
= logging.LoggerAdapter(logger, {'execution_id': str(self.execution_id)})
attributeis_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
paramself
paramregistryRegistry
paramstate_storageStateStorage
paramnode_actorNodeActor[T]
paramllmBaseChatModel
paramexecution_idUUID | None
= None
parammax_iterationsint
= 10
paramparent_executorExecutor | None
= None
paramroot_output_queueQueue[ExecutorOutput] | None
= None

Returns

None
funcstepstep(self, /, input_) -> ExecutorOutput

Execute a single step in the executor

Args: input_: ExecutorInput containing current input and target

paramself
paraminput_ExecutorInput

Returns

ExecutorOutput
func_process_input_loop_process_input_loop(self) -> None
paramself

Returns

None
func_on_exit_input_loop_on_exit_input_loop(self, /, task) -> None
paramself
paramtaskTask[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

paramself
paraminput_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

paramself
paraminput_ExecutorInput
paramresultAny

Returns

None
func_handle_sequential_execution_handle_sequential_execution(self, /, next_node_tuple, context=None) -> None

Handle sequential execution of the next node

paramself
paramnext_node_tupleNextNode
paramcontextdict[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

paramself
paramnext_nodeslist[NextNode]
paramcontextdict[str, Any] | None
= None

Returns

None
func_fork_executor_fork_executor(self, /, node) -> Executor

Create child executor for the given node

paramself
paramnodeBaseNode[S, NS]

Returns

Executor

Last updated on