langchain_community.chat_message_histories.singlestoredb
.SingleStoreDBChatMessageHistory¶
- class langchain_community.chat_message_histories.singlestoredb.SingleStoreDBChatMessageHistory(session_id: str, *, table_name: str = 'message_store', id_field: str = 'id', session_id_field: str = 'session_id', message_field: str = 'message', pool_size: int = 5, max_overflow: int = 10, timeout: float = 30, **kwargs: Any)[source]¶
单点存储数据库中的聊天信息历史。
使用必要的组件进行初始化。
- 参数
table_name (str, 可选) – 指定使用的表名。默认为“message_store”。
id_field (str, 可选) – 指定表中的id字段名。默认为“id”。
session_id_field (str, 可选) – 指定表中的session_id字段名。默认为“session_id”。
message_field (str, 可选) – 指定表中的消息字段名。默认为“message”。
pool (以下参数与连接相关) –
pool_size (int, 可选) – 决定池中活跃连接的数量。默认为5。
max_overflow (int, 可选) – 决定允许超出pool_size的最大连接数。默认为10。
timeout (float, 可选) – 指定建立连接的最大等待时间(秒)。默认为30。
connection (database) –
host (str, 可选) – 指定数据库连接的域名、IP地址或URL。默认方案是“mysql”。
user (str, 可选) – 数据库用户名。
密码 (str, 可选) - 数据库密码。
端口 (int, 可选) - 数据库端口。对于非HTTP连接默认为3306,HTTP连接为80,HTTPS连接为443。
数据库 (str, 可选) - 数据库名称。
其他可选参数 (允许进一步自定义) -
连接 -
纯Python模式 (bool, 可选) - 切换连接器模式。如果设置为True,将在纯Python模式下操作。
本地文件上传 (bool, 可选) - 允许本地文件上传。
字符集 (str, 可选) - 指定字符串值的字符集。
SSL密钥 (str, 可选) - 指定包含SSL密钥的文件路径。
SSL证书 (str, 可选) - 指定包含SSL证书的文件路径。
SSL证书颁发机构 (str, 可选) - 指定包含SSL证书颁发机构信息的文件路径。
SSL加密 (str, 可选) - 设置SSL加密列表。
禁用SSL (bool, 可选) - 禁用SSL的使用。
验证服务器证书 (bool, 可选) - 验证服务器的证书。如果指定了
ssl_ca
,则自动启用。验证服务器身份 (bool, 可选) - 验证服务器的身份。
数据转换函数 (dict[int, Callable], 可选) - 数据转换函数的字典。
认证类型 (str, 可选) - 指定要使用的认证类型:auth.PASSWORD,auth.JWT,或auth.BROWSER_SSO。
自动提交 (bool, 可选) - 启用自动提交。
查询结果结构 (str, 可选) - 确定查询结果的格式:元组、namedtuple、字典。
结果格式 (str, 可选) - 已废弃。此选项已被重命名为results_type。
会话ID (str) -
关键字参数 (Any) -
示例
基本用法
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) message_history = SingleStoreDBChatMessageHistory( session_id="my-session", host="https://user:[email protected]:3306/database" )
高级用法
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) message_history = SingleStoreDBChatMessageHistory( session_id="my-session", host="127.0.0.1", port=3306, user="user", password="password", database="db", table_name="my_custom_table", pool_size=10, timeout=60, )
使用环境变量
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) os.environ['SINGLESTOREDB_URL'] = 'me:[email protected]/my_db' message_history = SingleStoreDBChatMessageHistory("my-session")
属性
消息
从SingleStoreDB检索消息
方法
__init__
(session_id, *[, table_name, ...])使用必要的组件进行初始化。
aadd_messages
(messages)异步添加消息列表。
aclear
()异步删除存储中的所有消息
add_ai_message
(message)将AI消息字符串添加到存储的便捷方法。
add_message
(message)将消息附加到SingleStoreDB记录中
add_messages
(messages)添加消息列表。
add_user_message
(message)为将人类消息字符串添加到存储器提供便利方法。
获取消息的异步版本。
clear
()从SingleStoreDB清除会话内存。
- __init__(session_id: str, *, table_name: str = 'message_store', id_field: str = 'id', session_id_field: str = 'session_id', message_field: str = 'message', pool_size: int = 5, max_overflow: int = 10, timeout: float = 30, **kwargs: Any)[source]¶
使用必要的组件进行初始化。
- 参数
table_name (str, 可选) – 指定使用的表名。默认为“message_store”。
id_field (str, 可选) – 指定表中的id字段名。默认为“id”。
session_id_field (str, 可选) – 指定表中的session_id字段名。默认为“session_id”。
message_field (str, 可选) – 指定表中的消息字段名。默认为“message”。
pool (以下参数与连接相关) –
pool_size (int, 可选) – 决定池中活跃连接的数量。默认为5。
max_overflow (int, 可选) – 决定允许超出pool_size的最大连接数。默认为10。
timeout (float, 可选) – 指定建立连接的最大等待时间(秒)。默认为30。
connection (database) –
host (str, 可选) – 指定数据库连接的域名、IP地址或URL。默认方案是“mysql”。
user (str, 可选) – 数据库用户名。
密码 (str, 可选) - 数据库密码。
端口 (int, 可选) - 数据库端口。对于非HTTP连接默认为3306,HTTP连接为80,HTTPS连接为443。
数据库 (str, 可选) - 数据库名称。
其他可选参数 (允许进一步自定义) -
连接 -
纯Python模式 (bool, 可选) - 切换连接器模式。如果设置为True,将在纯Python模式下操作。
本地文件上传 (bool, 可选) - 允许本地文件上传。
字符集 (str, 可选) - 指定字符串值的字符集。
SSL密钥 (str, 可选) - 指定包含SSL密钥的文件路径。
SSL证书 (str, 可选) - 指定包含SSL证书的文件路径。
SSL证书颁发机构 (str, 可选) - 指定包含SSL证书颁发机构信息的文件路径。
SSL加密 (str, 可选) - 设置SSL加密列表。
禁用SSL (bool, 可选) - 禁用SSL的使用。
验证服务器证书 (bool, 可选) - 验证服务器的证书。如果指定了
ssl_ca
,则自动启用。验证服务器身份 (bool, 可选) - 验证服务器的身份。
数据转换函数 (dict[int, Callable], 可选) - 数据转换函数的字典。
认证类型 (str, 可选) - 指定要使用的认证类型:auth.PASSWORD,auth.JWT,或auth.BROWSER_SSO。
自动提交 (bool, 可选) - 启用自动提交。
查询结果结构 (str, 可选) - 确定查询结果的格式:元组、namedtuple、字典。
结果格式 (str, 可选) - 已废弃。此选项已被重命名为results_type。
会话ID (str) -
关键字参数 (Any) -
示例
基本用法
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) message_history = SingleStoreDBChatMessageHistory( session_id="my-session", host="https://user:[email protected]:3306/database" )
高级用法
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) message_history = SingleStoreDBChatMessageHistory( session_id="my-session", host="127.0.0.1", port=3306, user="user", password="password", database="db", table_name="my_custom_table", pool_size=10, timeout=60, )
使用环境变量
from langchain_community.chat_message_histories import ( SingleStoreDBChatMessageHistory ) os.environ['SINGLESTOREDB_URL'] = 'me:[email protected]/my_db' message_history = SingleStoreDBChatMessageHistory("my-session")
- 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]) – 要添加的人工智能消息。
- 返回类型
None
- add_message(message: BaseMessage) None [源代码]¶
将消息附加到SingleStoreDB记录中
- 参数
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] ¶
获取消息的异步版本。
可以重写此方法以提供高效的非阻塞实现。
通常,获取消息可能涉及到底层数据持久化层的I/O操作。
- 返回类型
List[BaseMessage]