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)用于将人类消息字符串添加到存储中的便捷方法。
获取消息的异步版本。
clear
()清除所有消息
从数据库重新加载消息到缓存
- __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]
使用 TiDBChatMessageHistory 的示例