A class that extends the AgentActionOutputParser to parse the output of the ChatAgent in LangChain. It checks if the output text contains the final answer action or a JSON response, and parses it accordingly.

Example

const prompt = ChatPromptTemplate.fromMessages([
[
"ai",
`{PREFIX}
{FORMAT_INSTRUCTIONS}
{SUFFIX}`,
],
["human", "Question: {input}"],
]);
const runnableAgent = RunnableSequence.from([
{
input: (i: { input: string; steps: AgentStep[] }) => i.input,
agent_scratchpad: (i: { input: string; steps: AgentStep[] }) =>
formatLogToString(i.steps),
},
prompt,
new OpenAI({ temperature: 0 }),
new ChatAgentOutputParser(),
]);

const executor = AgentExecutor.fromAgentAndTools({
agent: runnableAgent,
tools: [new SerpAPI(), new Calculator()],
});

const result = await executor.invoke({
input:
"Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?",
});

Hierarchy (view full)

Constructors

Methods

  • Returns the format instructions used in the output parser for the ChatAgent class.

    Returns string

    The format instructions as a string.

  • Parses the output text from the MRKL chain into an agent action or agent finish. If the text contains the final answer action or does not contain an action, it returns an AgentFinish with the output and log. If the text contains a JSON response, it returns the tool, toolInput, and log.

    Parameters

    • text: string

      The output text from the MRKL chain.

    Returns Promise<{
        log: string;
        returnValues: {
            output: string;
        };
        tool?: undefined;
        toolInput?: undefined;
    } | {
        log: string;
        tool: any;
        toolInput: any;
        returnValues?: undefined;
    }>

    An object that satisfies the AgentFinish interface or an object with the tool, toolInput, and log.

Generated using TypeDoc