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.
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]