Class StructuredChatAgent

Agent that interoperates with Structured Tools using React logic.

Hierarchy

  • Agent
    • StructuredChatAgent

Constructors

Properties

ToolType: StructuredTool<ZodObject<any, any, any, any, {}>>
llmChain: LLMChain<string, LLMType>
outputParser: undefined | AgentActionOutputParser

Accessors

  • get allowedTools(): undefined | string[]
  • Returns undefined | string[]

  • get inputKeys(): string[]
  • Returns string[]

  • get returnValues(): string[]
  • Returns string[]

Methods

  • Constructs the agent's scratchpad from a list of steps. If the agent's scratchpad is not empty, it prepends a message indicating that the agent has not seen any previous work.

    Parameters

    • steps: AgentStep[]

      Array of AgentStep instances to construct the scratchpad from.

    Returns Promise<string>

    A Promise that resolves to a string representing the agent's scratchpad.

  • Name of tool to use to terminate the chain.

    Returns string

  • Prefix to append the LLM call with.

    Returns string

  • Prefix to append the observation with.

    Returns string

  • Decide what to do given some input.

    Parameters

    • steps: AgentStep[]

      Steps the LLM has taken so far, along with observations from each.

    • inputs: ChainValues

      User inputs.

    • Optional callbackManager: CallbackManager

      Callback manager to use for this call.

    Returns Promise<AgentAction | AgentFinish>

    Action specifying what tool to use.

  • Prepare the agent for output, if needed

    Parameters

    • _returnValues: Record<string, any>
    • _steps: AgentStep[]

    Returns Promise<Record<string, any>>

  • Creates a string representation of the schemas of the provided tools.

    Parameters

    • tools: StructuredTool<ZodObject<any, any, any, any, {}>>[]

      Array of StructuredTool instances to create the schemas string from.

    Returns string

    A string representing the schemas of the provided tools.

  • Load an agent from a json-like object describing it.

    Parameters

    • data: Object

    Returns Promise<Agent>

  • Creates a StructuredChatAgent from an LLM and a list of tools. Validates the tools, creates a prompt, and sets up an LLM chain for the agent.

    Parameters

    Returns StructuredChatAgent

    A new instance of StructuredChatAgent.

  • Returns a default output parser for the StructuredChatAgent. If an LLM is provided, it creates an output parser with retry logic from the LLM.

    Parameters

    • Optional fields: OutputParserArgs & {
          toolNames: string[];
      }

      Optional fields to customize the output parser. Can include an LLM and a list of tool names.

    Returns StructuredChatOutputParserWithRetries

    An instance of StructuredChatOutputParserWithRetries.

  • Validates that all provided tools have a description. Throws an error if any tool lacks a description.

    Parameters

    • tools: StructuredTool<ZodObject<any, any, any, any, {}>>[]

      Array of StructuredTool instances to validate.

    Returns void

Generated using TypeDoc