Class for storing chat message history using Redis. Extends the BaseListChatMessageHistory class.

const chatHistory = new RedisChatMessageHistory({
sessionId: new Date().toISOString(),
sessionTTL: 300,
url: "redis:
});

const chain = new ConversationChain({
llm: new ChatOpenAI({ modelName: "gpt-3.5-turbo", temperature: 0 }),
memory: { chatHistory },
});

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

Hierarchy

  • BaseListChatMessageHistory
    • RedisChatMessageHistory

Constructors

Properties

client: RedisClientType<RedisModules, RedisFunctions, RedisScripts>

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>

  • Adds a new chat message to the Redis database for the current session.

    Parameters

    • message: BaseMessage

      The BaseMessage instance to add.

    Returns Promise<void>

    Promise resolving when the message has been added.

  • 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>

  • Deletes all chat messages from the Redis database for the current session.

    Returns Promise<void>

    Promise resolving when the messages have been deleted.

  • Ensures the Redis client is ready to perform operations. If the client is not ready, it attempts to connect to the Redis database.

    Returns Promise<boolean>

    Promise resolving to true when the client is ready.

  • Retrieves all chat messages from the Redis database for the current session.

    Returns Promise<BaseMessage[]>

    Promise resolving to an array of BaseMessage instances.

  • Returns Serialized