langchain_community.chat_message_histories.tidb.TiDBChatMessageHistory

class langchain_community.chat_message_histories.tidb.TiDBChatMessageHistory(session_id: str, connection_string: str, table_name: str = 'langchain_message_store', earliest_time: Optional[datetime] = None)[源代码]

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

初始化 TiDBChatMessageHistory 类的新实例。

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

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

  • table_name (str, 可选) – 存储聊天消息的表名。默认为“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: Optional[datetime] = None)[source]

初始化 TiDBChatMessageHistory 类的新实例。

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

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

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

  • earliest_time (可选[datetime], 可选) – 获取消息的最早时间。默认为 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) –

返回类型

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]

获取消息的异步版本。

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

一般来说,获取消息可能涉及到底层持久化层输入/输出。

返回类型

List[BaseMessage]

clear() None[source]

清除所有消息

返回类型

None

reload_cache() None[源代码]

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

返回类型

None

使用 TiDBChatMessageHistory 的示例