Rockset聊天消息历史#
- 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]#
使用Rockset来存储聊天消息。
要使用,请确保已安装rockset python包。
示例
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
构建一个新的RocksetChatMessageHistory。
- Parameters:
session_id (-) – 聊天会话的ID
client (-) – 用于查询的RocksetClient对象
collection (-) – 用于存储聊天消息的集合名称。如果工作区中不存在具有给定名称的集合,则会创建它。
workspace (-) – 包含 collection 的工作区。默认为 “commons”
messages_key (-) – 包含消息历史的数据库列。 默认为 “messages”
sync (-) – 是否等待消息被添加。默认为False。注意:将此设置为True会降低性能。
message_uuid_method (-) – 生成消息ID的方法。 如果设置,所有消息将在additional_kwargs属性中包含一个id字段。如果未设置此参数且sync为False,则不会创建消息ID。 如果未设置此参数且sync为True,则将使用uuid.uuid4方法创建消息ID。
属性
ADD_TIMEOUT_MS
CREATE_TIMEOUT_MS
SLEEP_INTERVAL_MS
messages
此聊天历史中的消息。
方法
__init__
(session_id, client, collection[, ...])构造一个新的RocksetChatMessageHistory。
aadd_messages
(messages)异步添加消息列表。
aclear
()异步从存储中移除所有消息
add_ai_message
(message)用于将AI消息字符串添加到存储中的便捷方法。
add_message
(message)将消息对象添加到历史记录中。
add_messages
(messages)添加消息列表。
add_user_message
(message)用于将人类消息字符串添加到存储中的便捷方法。
获取消息的异步版本。
clear
()从聊天记录中移除所有消息
- __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 [源代码]#
构建一个新的RocksetChatMessageHistory。
- Parameters:
session_id (-) – 聊天会话的ID
client (-) – 用于查询的RocksetClient对象
collection (-) – 用于存储聊天消息的集合名称。如果工作区中不存在具有给定名称的集合,则会创建它。
workspace (-) – 包含 collection 的工作区。默认为 “commons”
messages_key (-) – 包含消息历史的数据库列。 默认为 “messages”
sync (-) – 是否等待消息被添加。默认为False。注意:将此设置为True会降低性能。
message_uuid_method (-) – 生成消息ID的方法。 如果设置,所有消息将在additional_kwargs属性中包含一个id字段。如果未设置此参数且sync为False,则不会创建消息ID。 如果未设置此参数且sync为True,则将使用uuid.uuid4方法创建消息ID。
- Return type:
无
- async aadd_messages(messages: Sequence[BaseMessage]) None #
异步添加消息列表。
- Parameters:
messages (Sequence[BaseMessage]) – 要存储的BaseMessage对象序列。
- Return type:
无
- async aclear() None #
异步从存储中移除所有消息
- Return type:
无
- add_ai_message(message: AIMessage | str) None #
向存储中添加AI消息字符串的便捷方法。
请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少与底层持久层的往返次数。
此方法可能在未来的版本中被弃用。
- Parameters:
message (AIMessage | str) – 要添加的AI消息。
- Return type:
无
- add_message(message: BaseMessage) None [来源]#
向历史记录中添加一个消息对象。
- Parameters:
消息 (BaseMessage) – 一个用于存储的BaseMessage对象。
- Return type:
无
- add_messages(messages: Sequence[BaseMessage]) None #
添加消息列表。
实现应重写此方法,以高效地处理消息的批量添加,避免对底层存储进行不必要的往返。
- Parameters:
messages (Sequence[BaseMessage]) – 要存储的BaseMessage对象序列。
- Return type:
无
- add_user_message(message: HumanMessage | str) None #
用于向存储中添加人类消息字符串的便捷方法。
请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少对底层持久层的往返次数。
此方法可能在未来的版本中被弃用。
- Parameters:
message (HumanMessage | str) – 要添加到存储中的人类消息。
- Return type:
无
- async aget_messages() list[BaseMessage] #
获取消息的异步版本。
可以重写此方法以提供高效的异步实现。
通常,获取消息可能涉及到底层持久层的IO操作。
- Return type:
列表[BaseMessage]
使用 RocksetChatMessageHistory 的示例