AIAgentSubgraph
AIAgentSubgraph represents a structured subgraph within an AI agent workflow. It serves as a logical segment containing a defined starting and ending point. The subgraph is responsible for executing tasks in a step-by-step manner, managing iterations, and handling tool selection strategies.
Parameters
The type of input data accepted by the subgraph.
The type of output data returned by the subgraph.
The name of the subgraph.
The starting node of the subgraph, which initiates the processing.
The finishing node of the subgraph, which concludes the processing.
Strategy determining which tools should be available during this subgraph's execution.
Optional LLModel override for the subgraph execution.
Optional LLMParams override for the prompt for the subgraph execution.
Inheritors
Constructors
Properties
Functions
Adds a directed edge from the current node, enabling connections between this node and other nodes in the AI agent strategy graph.
Sets a forced node for the entity.
Executes the desired operation based on the input and the provided context. This function determines the execution strategy based on the tool selection strategy configured in the class.
Executes the node operation using the provided execution context and input, bypassing type safety checks. This method internally calls the type-safe execute
method after casting the input. The lifecycle hooks onBeforeNode
and onAfterNode
are invoked before and after the execution respectively.
Creates a directed edge from this AIAgentNodeBase
to another AIAgentNodeBase
, allowing data to flow from the output of the current node to the input of the specified node.
Retrieves the current execution point, which consists of a specific node in the execution graph and an optional input. If no forced node is defined, the method returns null.
Resets the currently enforced execution point for the AI agent, including clearing any forced node and input data. Once the execution point is reset, the system will revert to its default execution behavior without targeting a specific node explicitly.
Resolves the edge associated with the provided node output and execution context. Iterates through available edges and identifies the first edge that can successfully process the given node output within the provided context. If a resolvable edge is found, it returns a ResolvedEdge
containing the edge and its output. Otherwise, returns null.