Class representing a plan-and-execute agent executor. This agent decides on the full sequence of actions upfront, then executes them all without updating the plan. This is suitable for complex or long-running tasks that require maintaining long-term objectives and focus.

Hierarchy (view full)

Constructors

Properties

memory?: any

Accessors

Methods

  • Parameters

    • inputs: ChainValues[]
    • Optionalconfig: any[]

    Returns Promise<ChainValues[]>

    Use .batch() instead. Will be removed in 0.2.0.

    Call the chain on all inputs in the list

  • Parameters

    • values: any
    • Optionalconfig: any
    • Optionaltags: string[]

    Returns Promise<ChainValues>

    Use .invoke() instead. Will be removed in 0.2.0.

    Run the core logic of this chain and add to output if desired.

    Wraps _call and handles memory.

  • Invoke the chain with the provided input and returns the output.

    Parameters

    • input: ChainValues

      Input values for the chain run.

    • Optionaloptions: any

    Returns Promise<ChainValues>

    Promise that resolves with the output of the chain run.

  • Parameters

    • inputs: Record<string, unknown>
    • outputs: Record<string, unknown>
    • returnOnlyOutputs: boolean = false

    Returns Promise<Record<string, unknown>>

  • Parameters

    • input: any
    • Optionalconfig: any

    Returns Promise<string>

    Use .invoke() instead. Will be removed in 0.2.0.

  • Static method that creates a new PlanAndExecuteAgentExecutor from a given LLM, a set of tools, and optionally a human message template. It uses the getDefaultPlanner and getDefaultStepExecutor methods to create the planner and step executor for the new agent executor.

    Parameters

    • __namedParameters: {
          llm: BaseLanguageModelInterface;
          tools: Tool[] | DynamicStructuredTool[];
          humanMessageTemplate?: string;
      } & Omit<PlanAndExecuteAgentExecutorInput, "planner" | "stepExecutor">

    Returns Promise<PlanAndExecuteAgentExecutor>

    A new PlanAndExecuteAgentExecutor instance.

  • Static method that returns a default planner for the agent. It creates a new LLMChain with a given LLM and a fixed prompt, and uses it to create a new LLMPlanner with a PlanOutputParser.

    Parameters

    • llm: {
          llm: BaseLanguageModelInterface;
          tools: Tool[] | DynamicStructuredTool[];
      }

      The Large Language Model (LLM) used to generate responses.

      • llm: BaseLanguageModelInterface
      • tools: Tool[] | DynamicStructuredTool[]

    Returns Promise<LLMPlanner>

    A new LLMPlanner instance.

  • Static method that returns a default step executor for the agent. It creates a new ChatAgent from a given LLM and a set of tools, and uses it to create a new ChainStepExecutor.

    Parameters

    • __namedParameters: {
          llm: BaseLanguageModelInterface;
          tools: Tool[] | DynamicStructuredTool[];
          humanMessageTemplate?: string;
      }
      • llm: BaseLanguageModelInterface
      • tools: Tool[] | DynamicStructuredTool[]
      • OptionalhumanMessageTemplate?: string

    Returns ChainStepExecutor

    A new ChainStepExecutor instance.