Cassandra聊天消息历史#

class langchain_community.chat_message_histories.cassandra.CassandraChatMessageHistory(session_id: str, session: Session | None = None, keyspace: str | None = None, table_name: str = 'message_store', ttl_seconds: int | None = None, *, setup_mode: SetupMode = SetupMode.SYNC)[source]#

由Cassandra支持的聊天消息历史记录。

初始化一个新的CassandraChatMessageHistory实例。

Parameters:
  • session_id (str) – 用于存储单个聊天会话消息的任意键。

  • session (可选[Session]) – Cassandra 驱动会话。 如果未提供,则从 cassio 解析。

  • keyspace (可选[str]) – Cassandra 键空间。如果未提供,则从 cassio 解析。

  • table_name (str) – 要使用的表的名称。

  • ttl_seconds (可选[int]) – 存储条目的自动过期时间(秒)。默认值为 None,表示永不过期。

  • setup_mode (SetupMode) – 用于创建Cassandra表的模式(SYNC、ASYNC或OFF)。

属性

messages

从数据库中检索所有会话消息

方法

__init__(session_id[, session, keyspace, ...])

初始化一个新的CassandraChatMessageHistory实例。

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, session: Session | None = None, keyspace: str | None = None, table_name: str = 'message_store', ttl_seconds: int | None = None, *, setup_mode: SetupMode = SetupMode.SYNC) None[source]#

初始化一个新的CassandraChatMessageHistory实例。

Parameters:
  • session_id (str) – 用于存储单个聊天会话消息的任意键。

  • session (可选[Session]) – Cassandra 驱动会话。 如果未提供,则从 cassio 解析。

  • keyspace (可选[str]) – Cassandra 键空间。如果未提供,则从 cassio 解析。

  • table_name (str) – 要使用的表的名称。

  • ttl_seconds (可选[int]) – 存储条目的自动过期时间(秒)。默认值为 None,表示永不过期。

  • setup_mode (SetupMode) – 用于创建Cassandra表的模式(SYNC、ASYNC或OFF)。

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) – 要写入的消息。

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][来源]#

从数据库中检索所有会话消息

Return type:

列表[BaseMessage]

clear() None[source]#

从数据库中清除会话内存

Return type:

使用CassandraChatMessageHistory的示例