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.
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]
Examples using RocksetChatMessageHistory