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

Async add a list of messages.

aclear()

Async 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[[], 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#

Async add a list of messages.

Parameters:

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

Return type:

None

async aclear() None#

Async remove all messages from the store

Return type:

None

add_ai_message(message: 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 (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 sequence of BaseMessage objects to store.

Return type:

None

add_user_message(message: 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 (HumanMessage | str) – The human message to add to the store.

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