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>>)[源代码]

使用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。

参数
  • session_id (-) – 聊天会话的ID

  • client (-) – 用于查询的RocksetClient对象

  • collection (-) – 用于存储聊天消息的集合名称。如果在工作区中不存在具有该名称的集合,则会创建。

  • workspace (-) – 包含集合的文件夹。默认为“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)

将人类消息字符串添加到存储中的便捷方法。

aget_messages()

获取消息的异步版本。

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[[], ~typing.Union[str, int]] = <function RocksetChatMessageHistory.<lambda>>) None[来源]

构造一个新的RocksetChatMessageHistory。

参数
  • session_id (-) – 聊天会话的ID

  • client (-) – 用于查询的RocksetClient对象

  • collection (-) – 用于存储聊天消息的集合名称。如果在工作区中不存在具有该名称的集合,则会创建。

  • workspace (-) – 包含集合的文件夹。默认为“commons”

  • messages_key (-) – 包含消息历史的数据库列。默认为“messages”

  • sync (-) – 是否等待添加消息。默认为False。注意:将此设置为True会降低性能。

  • message_uuid_method (-) – 生成消息ID的方法。如果设置,所有消息都将具有一个位于additional_kwargs属性中的id字段。如果未设置此参数且sync为False,则不会创建消息ID。如果未设置此参数且sync为True,将使用uuid.uuid4方法创建消息ID。

返回类型

None

async aadd_messages(messages: Sequence[BaseMessage]) None

异步添加一组消息。

参数

messages (Sequence[BaseMessage]) – 要存储的 BaseMessage 对象的序列。

返回类型

None

async aclear() None

异步从存储中删除所有消息

返回类型

None

add_ai_message(message: Union[AIMessage, str]) None

将AI消息字符串添加到存储中的便利方法。

请注意,这是一个便捷方法。代码应优先使用批量添加消息接口,以减少对底层持久化层的往返。

此方法可能在未来的版本中被弃用。

参数

message (Union[AIMessage, str]) –要添加的AI消息。

返回类型

None

add_message(message: BaseMessage) None[source]

将消息对象添加到历史记录中。

参数

message (BaseMessage) – 要存储的BaseMessage对象。

返回类型

None

add_messages(messages: Sequence[BaseMessage]) None

添加消息列表。

实现此方法来高效地处理批量添加消息,以避免不必要的底层存储往返。

参数

messages (Sequence[BaseMessage]) – 要存储的 BaseMessage 对象的序列。

返回类型

None

add_user_message(message: Union[HumanMessage, str]) None

将人类消息字符串添加到存储中的便捷方法。

请注意,这是一个便捷方法。代码应优先使用批量添加消息接口,以减少对底层持久化层的往返。

此方法可能在未来的版本中被弃用。

参数

message (Union[HumanMessage, str]) – 要添加到存储中的人类消息。

返回类型

None

async aget_messages() List[BaseMessage]

获取消息的异步版本。

可以覆盖此方法以提供高效的异步实现。

通常,获取消息可能涉及到底层数据持久化层的I/O操作。

返回类型

列表[BaseMessage]

clear() None[源代码]

从聊天历史中删除所有消息。

返回类型

None

RocksetChatMessageHistory的示例使用