Class that manages the memory of a generative agent in LangChain. It extends the BaseMemory class and has methods for adding a memory, formatting memories, getting memories until a token limit is reached, loading memory variables, saving the context of a model run to memory, and clearing memory contents.

Example

const createNewMemoryRetriever = async () => {
const vectorStore = new MemoryVectorStore(new OpenAIEmbeddings());
const retriever = new TimeWeightedVectorStoreRetriever({
vectorStore,
otherScoreKeys: ["importance"],
k: 15,
});
return retriever;
};
const tommiesMemory = new GenerativeAgentMemory(
llm,
await createNewMemoryRetriever(),
{ reflectionThreshold: 8 },
);
const summary = await tommiesMemory.getSummary();

Hierarchy

  • BaseMemory
    • GenerativeAgentMemory

Constructors

Properties

addMemoryKey: string = "addMemory"
llm: BaseLanguageModelInterface<any, BaseLanguageModelCallOptions>
memoryChain: GenerativeAgentMemoryChain
mostRecentMemoriesKey: string = "most_recent_memories"
mostRecentMemoriesTokenKey: string = "recent_memories_token"
nowKey: string = "now"
queriesKey: string = "queries"
relevantMemoriesKey: string = "relevant_memories"
relevantMemoriesSimpleKey: string = "relevant_memories_simple"
verbose: boolean
reflectionThreshold?: number

Accessors

Methods

  • Method that adds a memory to the agent's memory.

    Parameters

    • memoryContent: string

      The content of the memory to add.

    • Optional now: Date

      The current date.

    • Optional metadata: Record<string, unknown>

      The metadata for the memory.

    • Optional callbacks: CallbackManager | (BaseCallbackHandler | BaseCallbackHandlerMethodsClass)[]

      The Callbacks to use for adding the memory.

    Returns Promise<ChainValues>

    The result of the memory addition.

  • Method that loads memory variables based on the given inputs.

    Parameters

    • inputs: InputValues

      The inputs to use for loading memory variables.

    Returns Promise<Record<string, string>>

    An object containing the loaded memory variables.

Generated using TypeDoc