Class for managing chat message history using Google's Firestore as a storage backend. Extends the BaseListChatMessageHistory class.

const chatHistory = new FirestoreChatMessageHistory({
collectionName: "langchain",
sessionId: "lc-example",
userId: "a@example.com",
config: { projectId: "your-project-id" },
});

const chain = new ConversationChain({
llm: new ChatOpenAI(),
memory: new BufferMemory({ chatHistory }),
});

const response = await chain.invoke({
input: "What did I just say my name was?",
});
console.log({ response });

Hierarchy

  • BaseListChatMessageHistory
    • FirestoreChatMessageHistory

Constructors

Methods

  • Parameters

    • message: string

    Returns Promise<void>

    Use addAIMessage instead

  • This is a convenience method for adding an AI message string to the store. Please note that this is a convenience method. Code should favor the bulk addMessages interface instead to save on round-trips to the underlying persistence layer. This method may be deprecated in a future release.

    Parameters

    • message: string

    Returns Promise<void>

  • Method to add a new message to the Firestore collection. The message is passed as a BaseMessage object.

    Parameters

    • message: BaseMessage

      The message to be added as a BaseMessage object.

    Returns Promise<void>

  • Add a list of messages.

    Implementations should override this method to handle bulk addition of messages in an efficient manner to avoid unnecessary round-trips to the underlying store.

    Parameters

    • messages: BaseMessage[]

      A list of BaseMessage objects to store.

    Returns Promise<void>

  • This is a convenience method for adding a human message string to the store. Please note that this is a convenience method. Code should favor the bulk addMessages interface instead to save on round-trips to the underlying persistence layer. This method may be deprecated in a future release.

    Parameters

    • message: string

    Returns Promise<void>

  • Method to retrieve all messages from the Firestore collection associated with the current session. Returns an array of BaseMessage objects.

    Returns Promise<BaseMessage[]>

    Array of stored messages

  • Returns Serialized