Toggle Menu
Prev Up Next

# `langchain_community.chat_message_histories.momento`.MomentoChatMessageHistory

class langchain_community.chat_message_histories.momento.MomentoChatMessageHistory(session_id: str, cache_client: momento.CacheClient, cache_name: str, *, key_prefix: str = 'message_store:', ttl: Optional[timedelta] = None, ensure_cache_exists: bool = True)

  Chat message history cache that uses Momento as a backend.

  See https://gomomento.com/

  Instantiate a chat message history cache that uses Momento as a backend.

  Note: to instantiate the cache client passed to MomentoChatMessageHistory, you must have a Momento account at https://gomomento.com/.

  Parameters

    - session_id (str) – The session ID to use for this chat session.

    - cache_client (CacheClient) – The Momento cache client.

    - cache_name (str) – The name of the cache to use to store the messages.

    - key_prefix (str, optional) – The prefix to apply to the cache key. Defaults to “message_store:”.

    - ttl (Optional[timedelta], optional) – The TTL to use for the messages. Defaults to None, ie the default TTL of the cache will be used.

    - ensure_cache_exists (bool, optional) – Create the cache if it doesn’t exist. Defaults to True.

  Raises

    - ImportError – Momento python package is not installed.

    - TypeError – cache_client is not of type momento.CacheClientObject

  Attributes

  `messages` | Retrieve the messages from Momento.

  Methods

  `__init__`(session_id, cache_client, cache_name, *) | Instantiate a chat message history cache that uses Momento as a backend.
  `aadd_messages`(messages) | Add a list of messages.
  `aclear`() | Remove all messages from the store
  `add_ai_message`(message) | Convenience method for adding an AI message string to the store.
  `add_message`(message) | Store a message in the cache.
  `add_messages`(messages) | Add a list of messages.
  `add_user_message`(message) | Convenience method for adding a human message string to the store.
  `aget_messages`() | Async version of getting messages.
  `clear`() | Remove the session's messages from the cache.
  `from_client_params`(session_id, cache_name, ...) | Construct cache from CacheClient parameters.

  __init__(session_id: str, cache_client: momento.CacheClient, cache_name: str, *, key_prefix: str = 'message_store:', ttl: Optional[timedelta] = None, ensure_cache_exists: bool = True)

    Instantiate a chat message history cache that uses Momento as a backend.

    Note: to instantiate the cache client passed to MomentoChatMessageHistory, you must have a Momento account at https://gomomento.com/.

    Parameters

      - session_id (str) – The session ID to use for this chat session.

      - cache_client (CacheClient) – The Momento cache client.

      - cache_name (str) – The name of the cache to use to store the messages.

      - key_prefix (str, optional) – The prefix to apply to the cache key. Defaults to “message_store:”.

      - ttl (Optional[timedelta], optional) – The TTL to use for the messages. Defaults to None, ie the default TTL of the cache will be used.

      - ensure_cache_exists (bool, optional) – Create the cache if it doesn’t exist. Defaults to True.

    Raises

      - ImportError – Momento python package is not installed.

      - TypeError – cache_client is not of type momento.CacheClientObject

  async aadd_messages(messages: Sequence[BaseMessage]) → None

    Add a list of messages.

    Parameters

      messages (Sequence[BaseMessage]) – A list of BaseMessage objects to store.

    Return type

      None

  async aclear() → None

    Remove all messages from the store

    Return type

      None

  add_ai_message(message: Union[AIMessage, str]) → None

    Convenience method for adding an AI message string to the store.

    Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

    This method may be deprecated in a future release.

    Parameters

      message (Union[AIMessage, str]) – The AI message to add.

    Return type

      None

  add_message(message: BaseMessage) → None

    Store a message in the cache.

    Parameters

      message (BaseMessage) – The message object to store.

    Raises

      - SdkException – Momento service or network error.

      - Exception – Unexpected response.

    Return type

      None

  add_messages(messages: Sequence[BaseMessage]) → None

    Add a list of messages.

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

    Parameters

      messages (Sequence[BaseMessage]) – A list of BaseMessage objects to store.

    Return type

      None

  add_user_message(message: Union[HumanMessage, str]) → None

    Convenience method for adding a human message string to the store.

    Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

    This method may be deprecated in a future release.

    Parameters

      message (Union[HumanMessage, str]) – The human message to add

    Return type

      None

  async aget_messages() → List[BaseMessage]

    Async version of getting messages.

    Can over-ride this method to provide an efficient async implementation.

    In general, fetching messages may involve IO to the underlying persistence layer.

    Return type

      List[BaseMessage]

  clear() → None

    Remove the session’s messages from the cache.

    Raises

      - SdkException – Momento service or network error.

      - Exception – Unexpected response.

    Return type

      None

  classmethod from_client_params(session_id: str, cache_name: str, ttl: timedelta, *, configuration: Optional[momento.config.Configuration] = None, api_key: Optional[str] = None, auth_token: Optional[str] = None, **kwargs: Any) → MomentoChatMessageHistory

    Construct cache from CacheClient parameters.

    Parameters

      - session_id (str) –

      - cache_name (str) –

      - ttl (timedelta) –

      - configuration (Optional[momento.config.Configuration]) –

      - api_key (Optional[str]) –

      - auth_token (Optional[str]) –

      - kwargs (Any) –

    Return type

      MomentoChatMessageHistory

# Examples using MomentoChatMessageHistory

- Momento

- momento_chat_message_history.md