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)[source]¶
代表存储在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, optional): 存储聊天消息的表名。
默认为 “langchain_message_store”。
- earliest_time (Optional[datetime], optional): 检索消息的最早时间。
默认为 None。
Attributes
messages
返回所有消息
Methods
__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
()清除所有消息
重新从数据库中加载消息到缓存
- Parameters
session_id (str) –
connection_string (str) –
table_name (str) –
earliest_time (Optional[datetime]) –
- __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, optional): 存储聊天消息的表名。
默认为 “langchain_message_store”。
- earliest_time (Optional[datetime], optional): 检索消息的最早时间。
默认为 None。
- Parameters
session_id (str) –
connection_string (str) –
table_name (str) –
earliest_time (Optional[datetime]) –
- 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]¶
向数据库和缓存中添加一条消息
- 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]