Class used to manage the memory of a chat session, including loading and saving the chat history, and clearing the memory when needed. It uses the ZepClient to interact with the Zep service for managing the chat session's memory.

Example

const sessionId = randomUUID();
const zepURL = "http://your-zep-url";

// Initialize ZepMemory with session ID, base URL, and API key
const memory = new ZepMemory({
sessionId,
baseURL: zepURL,
apiKey: "change_this_key",
});

// Create a ChatOpenAI model instance with specific parameters
const model = new ChatOpenAI({
modelName: "gpt-3.5-turbo",
temperature: 0,
});

// Create a ConversationChain with the model and memory
const chain = new ConversationChain({ llm: model, memory });

// Example of calling the chain with an input
const res1 = await chain.call({ input: "Hi! I'm Jim." });
console.log({ res1 });

// Follow-up call to the chain to demonstrate memory usage
const res2 = await chain.call({ input: "What did I just say my name was?" });
console.log({ res2 });

// Output the session ID and the current state of memory
console.log("Session ID: ", sessionId);
console.log("Memory: ", await memory.loadMemoryVariables({}));

Hierarchy

Implements

Constructors

Properties

aiPrefix: string
baseURL: string
humanPrefix: string
memoryKey: string
returnMessages: boolean
sessionId: string
zepClientPromise: Promise<default>
inputKey?: string
outputKey?: string

Accessors

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

Methods

  • Method that deletes the chat history from the Zep service.

    Returns Promise<void>

    Promise that resolves when the chat history has been deleted.

  • Method that retrieves the chat history from the Zep service and formats it into a list of messages.

    Parameters

    Returns Promise<MemoryVariables>

    Promise that resolves with the chat history formatted into a list of messages.

  • Method that saves the input and output messages to the Zep service.

    Parameters

    Returns Promise<void>

    Promise that resolves when the messages have been saved.

Generated using TypeDoc