Toggle Menu
Prev Up Next

# `langchain_community.chat_message_histories.rocksetdb`.RocksetChatMessageHistory

class langchain_community.chat_message_histories.rocksetdb.RocksetChatMessageHistory(session_id: str, client: ~typing.Any, collection: str, workspace: str = 'commons', messages_key: str = 'messages', sync: bool = False, message_uuid_method: ~typing.Callable[[], ~typing.Union[str, int]] = <function RocksetChatMessageHistory.<lambda>>)

  Uses Rockset to store chat messages.

  To use, ensure that the rockset python package installed.

  Example

      from langchain_community.chat_message_histories import (
          RocksetChatMessageHistory
      )
      from rockset import RocksetClient

      history = RocksetChatMessageHistory(
          session_id="MySession",
          client=RocksetClient(),
          collection="langchain_demo",
          sync=True
      )

      history.add_user_message("hi!")
      history.add_ai_message("whats up?")

      print(history.messages)  # noqa: T201

  Constructs a new RocksetChatMessageHistory.

  Parameters

    - session_id (-) – The ID of the chat session

    - client (-) – The RocksetClient object to use to query

    - collection (-) – The name of the collection to use to store chat messages. If a collection with the given name does not exist in the workspace, it is created.

    - workspace (-) – The workspace containing collection. Defaults to “commons”

    - messages_key (-) – The DB column containing message history. Defaults to “messages”

    - sync (-) – Whether to wait for messages to be added. Defaults to False. NOTE: setting this to True will slow down performance.

    - message_uuid_method (-) – The method that generates message IDs. If set, all messages will have an id field within the additional_kwargs property. If this param is not set and sync is False, message IDs will not be created. If this param is not set and sync is True, the uuid.uuid4 method will be used to create message IDs.

  Attributes

  `ADD_TIMEOUT_MS` |
  `CREATE_TIMEOUT_MS` |
  `SLEEP_INTERVAL_MS` |
  `messages` | Messages in this chat history.

  Methods

  `__init__`(session_id, client, collection[, ...]) | Constructs a new RocksetChatMessageHistory.
  `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) | Add a Message object to the history.
  `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`() | Removes all messages from the chat history

  __init__(session_id: str, client: ~typing.Any, collection: str, workspace: str = 'commons', messages_key: str = 'messages', sync: bool = False, message_uuid_method: ~typing.Callable[[], ~typing.Union[str, int]] = <function RocksetChatMessageHistory.<lambda>>) → None

    Constructs a new RocksetChatMessageHistory.

    Parameters

      - session_id (-) – The ID of the chat session

      - client (-) – The RocksetClient object to use to query

      - collection (-) – The name of the collection to use to store chat messages. If a collection with the given name does not exist in the workspace, it is created.

      - workspace (-) – The workspace containing collection. Defaults to “commons”

      - messages_key (-) – The DB column containing message history. Defaults to “messages”

      - sync (-) – Whether to wait for messages to be added. Defaults to False. NOTE: setting this to True will slow down performance.

      - message_uuid_method (-) – The method that generates message IDs. If set, all messages will have an id field within the additional_kwargs property. If this param is not set and sync is False, message IDs will not be created. If this param is not set and sync is True, the uuid.uuid4 method will be used to create message IDs.

    Return type

      None

  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

    Add a Message object to the history.

    Parameters

      message (BaseMessage) – A BaseMessage object to store.

    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

    Removes all messages from the chat history

    Return type

      None

# Examples using RocksetChatMessageHistory

- Rockset

- rockset_chat_message_history.md