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]#

Chat message history stored in a SingleStoreDB database.

Initialize with necessary components.

Parameters:
  • table_name (str, optional) – Specifies the name of the table in use. Defaults to “message_store”.

  • id_field (str, optional) – Specifies the name of the id field in the table. Defaults to “id”.

  • session_id_field (str, optional) – Specifies the name of the session_id field in the table. Defaults to “session_id”.

  • message_field (str, optional) – Specifies the name of the message field in the table. Defaults to “message”.

  • pool (Following arguments pertain to the connection)

  • pool_size (int, optional) – Determines the number of active connections in the pool. Defaults to 5.

  • max_overflow (int, optional) – Determines the maximum number of connections allowed beyond the pool_size. Defaults to 10.

  • timeout (float, optional) – Specifies the maximum wait time in seconds for establishing a connection. Defaults to 30.

  • connection (database)

  • host (str, optional) – Specifies the hostname, IP address, or URL for the database connection. The default scheme is “mysql”.

  • user (str, optional) – Database username.

  • password (str, optional) – Database password.

  • port (int, optional) – Database port. Defaults to 3306 for non-HTTP connections, 80 for HTTP connections, and 443 for HTTPS connections.

  • database (str, optional) – Database name.

  • the (Additional optional arguments provide further customization over)

  • connection

  • pure_python (bool, optional) – Toggles the connector mode. If True, operates in pure Python mode.

  • local_infile (bool, optional) – Allows local file uploads.

  • charset (str, optional) – Specifies the character set for string values.

  • ssl_key (str, optional) – Specifies the path of the file containing the SSL key.

  • ssl_cert (str, optional) – Specifies the path of the file containing the SSL certificate.

  • ssl_ca (str, optional) – Specifies the path of the file containing the SSL certificate authority.

  • ssl_cipher (str, optional) – Sets the SSL cipher list.

  • ssl_disabled (bool, optional) – Disables SSL usage.

  • ssl_verify_cert (bool, optional) – Verifies the server’s certificate. Automatically enabled if ssl_ca is specified.

  • ssl_verify_identity (bool, optional) – Verifies the server’s identity.

  • conv (dict[int, Callable], optional) – A dictionary of data conversion functions.

  • credential_type (str, optional) – Specifies the type of authentication to use: auth.PASSWORD, auth.JWT, or auth.BROWSER_SSO.

  • autocommit (bool, optional) – Enables autocommits.

  • results_type (str, optional) – Determines the structure of the query results: tuples, namedtuples, dicts.

  • results_format (str, optional) – Deprecated. This option has been renamed to results_type.

  • session_id (str)

  • kwargs (Any)

Examples

Basic Usage:

from langchain_community.chat_message_histories import (
    SingleStoreDBChatMessageHistory
)

message_history = SingleStoreDBChatMessageHistory(
    session_id="my-session",
    host="https://user:password@127.0.0.1:3306/database"
)

Advanced Usage:

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,
)

Using environment variables:

from langchain_community.chat_message_histories import (
    SingleStoreDBChatMessageHistory
)

os.environ['SINGLESTOREDB_URL'] = 'me:p455w0rd@s2-host.com/my_db'
message_history = SingleStoreDBChatMessageHistory("my-session")

Attributes

messages

Retrieve the messages from SingleStoreDB

Methods

__init__(session_id, *[, table_name, ...])

Initialize with necessary components.

aadd_messages(messages)

Async add a list of messages.

aclear()

Async remove all messages from the store

add_ai_message(message)

Convenience method for adding an AI message string to the store.

add_message(message)

Append the message to the record in SingleStoreDB

add_messages(messages)

Add a list of messages.

add_user_message(message)

Convenience method for adding a human message string to the store.

aget_messages()

Async version of getting messages.

clear()

Clear session memory from 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]#

Initialize with necessary components.

Parameters:
  • table_name (str, optional) – Specifies the name of the table in use. Defaults to “message_store”.

  • id_field (str, optional) – Specifies the name of the id field in the table. Defaults to “id”.

  • session_id_field (str, optional) – Specifies the name of the session_id field in the table. Defaults to “session_id”.

  • message_field (str, optional) – Specifies the name of the message field in the table. Defaults to “message”.

  • pool (Following arguments pertain to the connection)

  • pool_size (int, optional) – Determines the number of active connections in the pool. Defaults to 5.

  • max_overflow (int, optional) – Determines the maximum number of connections allowed beyond the pool_size. Defaults to 10.

  • timeout (float, optional) – Specifies the maximum wait time in seconds for establishing a connection. Defaults to 30.

  • connection (database)

  • host (str, optional) – Specifies the hostname, IP address, or URL for the database connection. The default scheme is “mysql”.

  • user (str, optional) – Database username.

  • password (str, optional) – Database password.

  • port (int, optional) – Database port. Defaults to 3306 for non-HTTP connections, 80 for HTTP connections, and 443 for HTTPS connections.

  • database (str, optional) – Database name.

  • the (Additional optional arguments provide further customization over)

  • connection

  • pure_python (bool, optional) – Toggles the connector mode. If True, operates in pure Python mode.

  • local_infile (bool, optional) – Allows local file uploads.

  • charset (str, optional) – Specifies the character set for string values.

  • ssl_key (str, optional) – Specifies the path of the file containing the SSL key.

  • ssl_cert (str, optional) – Specifies the path of the file containing the SSL certificate.

  • ssl_ca (str, optional) – Specifies the path of the file containing the SSL certificate authority.

  • ssl_cipher (str, optional) – Sets the SSL cipher list.

  • ssl_disabled (bool, optional) – Disables SSL usage.

  • ssl_verify_cert (bool, optional) – Verifies the server’s certificate. Automatically enabled if ssl_ca is specified.

  • ssl_verify_identity (bool, optional) – Verifies the server’s identity.

  • conv (dict[int, Callable], optional) – A dictionary of data conversion functions.

  • credential_type (str, optional) – Specifies the type of authentication to use: auth.PASSWORD, auth.JWT, or auth.BROWSER_SSO.

  • autocommit (bool, optional) – Enables autocommits.

  • results_type (str, optional) – Determines the structure of the query results: tuples, namedtuples, dicts.

  • results_format (str, optional) – Deprecated. This option has been renamed to results_type.

  • session_id (str)

  • kwargs (Any)

Examples

Basic Usage:

from langchain_community.chat_message_histories import (
    SingleStoreDBChatMessageHistory
)

message_history = SingleStoreDBChatMessageHistory(
    session_id="my-session",
    host="https://user:password@127.0.0.1:3306/database"
)

Advanced Usage:

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,
)

Using environment variables:

from langchain_community.chat_message_histories import (
    SingleStoreDBChatMessageHistory
)

os.environ['SINGLESTOREDB_URL'] = 'me:p455w0rd@s2-host.com/my_db'
message_history = SingleStoreDBChatMessageHistory("my-session")
async aadd_messages(messages: Sequence[BaseMessage]) None#

Async add a list of messages.

Parameters:

messages (Sequence[BaseMessage]) – A sequence of BaseMessage objects to store.

Return type:

None

async aclear() None#

Async remove all messages from the store

Return type:

None

add_ai_message(message: AIMessage | str) None#

Convenience method for adding an AI message string to the store.

Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

This method may be deprecated in a future release.

Parameters:

message (AIMessage | str) – The AI message to add.

Return type:

None

add_message(message: BaseMessage) None[source]#

Append the message to the record in SingleStoreDB

Parameters:

message (BaseMessage)

Return type:

None

add_messages(messages: Sequence[BaseMessage]) None#

Add a list of messages.

Implementations should over-ride this method to handle bulk addition of messages in an efficient manner to avoid unnecessary round-trips to the underlying store.

Parameters:

messages (Sequence[BaseMessage]) – A sequence of BaseMessage objects to store.

Return type:

None

add_user_message(message: HumanMessage | str) None#

Convenience method for adding a human message string to the store.

Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

This method may be deprecated in a future release.

Parameters:

message (HumanMessage | str) – The human message to add to the store.

Return type:

None

async aget_messages() list[BaseMessage]#

Async version of getting messages.

Can over-ride this method to provide an efficient async implementation.

In general, fetching messages may involve IO to the underlying persistence layer.

Return type:

list[BaseMessage]

clear() None[source]#

Clear session memory from SingleStoreDB

Return type:

None

Examples using SingleStoreDBChatMessageHistory