• Create an agent aimed at supporting tools with multiple inputs.

    Parameters

    Returns Promise<AgentRunnableSequence<{
        steps: AgentStep[];
    }, AgentAction | AgentFinish>>

    A runnable sequence representing an agent. It takes as input all the same input variables as the prompt passed in does. It returns as output either an AgentAction or AgentFinish.

    Example

    import { AgentExecutor, createStructuredChatAgent } from "langchain/agents";
    import { pull } from "langchain/hub";
    import type { ChatPromptTemplate } from "@langchain/core/prompts";
    import { AIMessage, HumanMessage } from "@langchain/core/messages";

    import { ChatOpenAI } from "@langchain/openai";

    // Define the tools the agent will have access to.
    const tools = [...];

    // Get the prompt to use - you can modify this!
    // If you want to see the prompt in full, you can at:
    // https://smith.langchain.com/hub/hwchase17/structured-chat-agent
    const prompt = await pull<ChatPromptTemplate>(
    "hwchase17/structured-chat-agent"
    );

    const llm = new ChatOpenAI({
    temperature: 0,
    modelName: "gpt-3.5-turbo-1106",
    });

    const agent = await createStructuredChatAgent({
    llm,
    tools,
    prompt,
    });

    const agentExecutor = new AgentExecutor({
    agent,
    tools,
    });

    const result = await agentExecutor.invoke({
    input: "what is LangChain?",
    });

    // With chat history
    const result2 = await agentExecutor.invoke({
    input: "what's my name?",
    chat_history: [
    new HumanMessage("hi! my name is cob"),
    new AIMessage("Hello Cob! How can I assist you today?"),
    ],
    });

Generated using TypeDoc