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>>)[source]

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[source]

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[source]

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[source]

Removes all messages from the chat history

Return type

None

Examples using RocksetChatMessageHistory