TiDBChatMessageHistory#

class langchain_community.chat_message_histories.tidb.TiDBChatMessageHistory(session_id: str, connection_string: str, table_name: str = 'langchain_message_store', earliest_time: datetime | None = None)[source]#

表示存储在TiDB数据库中的聊天消息历史记录。

初始化 TiDBChatMessageHistory 类的新实例。

Parameters:
  • session_id (str) – 聊天会话的ID。

  • connection_string (str) – TiDB数据库的连接字符串。 格式: mysql+pymysql://:@:4000/?ssl_ca=/etc/ssl/cert.pem&ssl_verify_cert=true&ssl_verify_identity=true

  • table_name (str, optional) – 用于存储聊天消息的表名。 默认为“langchain_message_store”。

  • earliest_time (可选[datetime], 可选) – 检索消息的最早时间。 默认为 None。

属性

messages

返回所有消息

方法

__init__(session_id, connection_string[, ...])

初始化 TiDBChatMessageHistory 类的新实例。

aadd_messages(messages)

异步添加消息列表。

aclear()

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

add_ai_message(message)

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

add_message(message)

将消息添加到数据库和缓存中

add_messages(messages)

添加消息列表。

add_user_message(message)

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

aget_messages()

获取消息的异步版本。

clear()

清除所有消息

reload_cache()

从数据库重新加载消息到缓存

__init__(session_id: str, connection_string: str, table_name: str = 'langchain_message_store', earliest_time: datetime | None = None)[source]#

初始化 TiDBChatMessageHistory 类的新实例。

Parameters:
  • session_id (str) – 聊天会话的ID。

  • connection_string (str) – TiDB数据库的连接字符串。 格式: mysql+pymysql://:@:4000/?ssl_ca=/etc/ssl/cert.pem&ssl_verify_cert=true&ssl_verify_identity=true

  • table_name (str, optional) – 用于存储聊天消息的表名。 默认为“langchain_message_store”。

  • earliest_time (可选[datetime], 可选) – 检索消息的最早时间。 默认为 None。

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[source]#

向数据库和缓存添加一条消息

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

获取消息的异步版本。

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

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

Return type:

列表[BaseMessage]

clear() None[source]#

清除所有消息

Return type:

reload_cache() None[source]#

从数据库重新加载消息到缓存

Return type:

使用 TiDBChatMessageHistory 的示例