const { initializeAgentExecutorWithOptions } = require('langchain/agents'); const { BufferMemory, ChatMessageHistory } = require('langchain/memory'); const initializeFunctionsAgent = async ({ tools, model, pastMessages, // currentDateString, ...rest }) => { const memory = new BufferMemory({ chatHistory: new ChatMessageHistory(pastMessages), memoryKey: 'chat_history', humanPrefix: 'User', aiPrefix: 'Assistant', inputKey: 'input', outputKey: 'output', returnMessages: true, }); return await initializeAgentExecutorWithOptions(tools, model, { agentType: 'openai-functions', memory, ...rest, }); }; module.exports = initializeFunctionsAgent;