Class for managing long-term memory in Large Language Model (LLM) applications. It provides a way to persist and retrieve relevant documents from a vector store database, which can be useful for maintaining conversation history or other types of memory in an LLM application.

const vectorStore = new MemoryVectorStore(new OpenAIEmbeddings());
const memory = new VectorStoreRetrieverMemory({
vectorStoreRetriever: vectorStore.asRetriever(1),
memoryKey: "history",
});

// Saving context to memory
await memory.saveContext(
{ input: "My favorite food is pizza" },
{ output: "thats good to know" },
);
await memory.saveContext(
{ input: "My favorite sport is soccer" },
{ output: "..." },
);
await memory.saveContext({ input: "I don't the Celtics" }, { output: "ok" });

// Loading memory variables
console.log(
await memory.loadMemoryVariables({ prompt: "what sport should i watch?" }),
);

Hierarchy (view full)

Implements

Constructors

Properties

inputKey?: string
memoryKey: string
metadata?: Metadata | MetadataFunction

Metadata to be added to the document when saving context.

returnDocs: boolean
vectorStoreRetriever: VectorStoreRetrieverInterface<VectorStoreInterface>

Accessors

Methods

  • Method to save context. It constructs a document from the input and output values (excluding the memory key) and adds it to the vector store database using the vectorStoreRetriever.

    Parameters

    Returns Promise<void>

    A Promise that resolves to void.