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)

为将人类消息字符串添加到存储器提供便利方法。

aget_messages()

获取消息的异步版本。

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]

clear() None[source]

从SingleStoreDB清除会话内存。

返回类型

None

使用SingleStoreDBChatMessageHistory的示例