langchain.js
    Preparing search index...

    Function createOpenAIToolsAgent

    • Create an agent that uses OpenAI-style tool calling.

      Parameters

      Returns Promise<AgentRunnableSequence<any, any>>

      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.

      import { AgentExecutor, createOpenAIToolsAgent } 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/openai-tools-agent
      const prompt = await pull<ChatPromptTemplate>(
      "hwchase17/openai-tools-agent"
      );

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

      const agent = await createOpenAIToolsAgent({
      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?"),
      ],
      });