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]

使用Rockset存储聊天消息。

要使用,请确保安装了`rockset` python包。

示例: .. code-block:: 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: 包含`collection`的工作区。默认为`”commons”`

  • messages_key: 包含消息历史记录的数据库列。默认为`”messages”`

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

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

Attributes

ADD_TIMEOUT_MS

CREATE_TIMEOUT_MS

SLEEP_INTERVAL_MS

messages

这个聊天记录中的消息。

Methods

__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()

从聊天记录中删除所有消息

Parameters
  • session_id (str) –

  • client (Any) –

  • collection (str) –

  • workspace (str) –

  • messages_key (str) –

  • sync (bool) –

  • message_uuid_method (Callable[[], Union[str, int]]) –

Return type

None

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

构建一个新的RocksetChatMessageHistory。

参数:
  • 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。

Parameters
  • session_id (str) –

  • client (Any) –

  • collection (str) –

  • workspace (str) –

  • messages_key (str) –

  • sync (bool) –

  • message_uuid_method (Callable[[], Union[str, int]]) –

Return type

None

async aadd_messages(messages: Sequence[BaseMessage]) None

添加一个消息列表。

参数:

messages: 要存储的BaseMessage对象列表。

Parameters

messages (Sequence[BaseMessage]) –

Return type

None

async aclear() None

从存储中删除所有消息。

Return type

None

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

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

请注意,这是一个便利方法。 代码应该更倾向于使用bulk add_messages接口,以节省对底层持久性层的往返次数。

这种方法可能在将来的版本中被弃用。

参数:

message: 要添加的AI消息。

Parameters

message (Union[AIMessage, str]) –

Return type

None

add_message(message: BaseMessage) None[source]

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

参数:

message: 要存储的BaseMessage对象。

Parameters

message (BaseMessage) –

Return type

None

add_messages(messages: Sequence[BaseMessage]) None

添加消息列表。

实现应该重写此方法,以有效地处理消息的批量添加,以避免不必要地往基础存储中进行往返。

参数:

messages: 要存储的 BaseMessage 对象列表。

Parameters

messages (Sequence[BaseMessage]) –

Return type

None

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

方便的方法,用于向存储添加人类消息字符串。

请注意,这是一个方便的方法。代码应该更倾向于使用批量add_messages接口,以节省对底层持久性层的往返次数。

这种方法可能在将来的版本中被弃用。

参数:

message: 要添加的人类消息

Parameters

message (Union[HumanMessage, str]) –

Return type

None

async aget_messages() List[BaseMessage]

异步版本的获取消息。

可以重写此方法以提供高效的异步实现。

通常,获取消息可能涉及到与底层持久化层的IO操作。

Return type

List[BaseMessage]

clear() None[source]

从聊天记录中删除所有消息

Return type

None

Examples using RocksetChatMessageHistory