langchain_community.chat_message_histories.momento.MomentoChatMessageHistory

class langchain_community.chat_message_histories.momento.MomentoChatMessageHistory(session_id: str, cache_client: momento.CacheClient, cache_name: str, *, key_prefix: str = 'message_store:', ttl: Optional[timedelta] = None, ensure_cache_exists: bool = True)[source]

聊天消息历史记录缓存,使用Momento作为后端。

查看https://gomomento.com/

实例化一个使用Momento作为后端的聊天消息历史记录缓存。

注意:要实例化传递给MomentoChatMessageHistory的缓存客户端,您必须在https://gomomento.com/拥有一个Momento账户。

参数:

session_id (str):用于此聊天会话的会话ID。 cache_client (CacheClient):Momento缓存客户端。 cache_name (str):用于存储消息的缓存的名称。 key_prefix (str, optional):要应用于缓存键的前缀。

默认为”message_store:”。

ttl (Optional[timedelta], optional):用于消息的TTL。

默认为None,即将使用缓存的默认TTL。

ensure_cache_exists (bool, optional):如果缓存不存在则创建缓存。

默认为True。

引发:

ImportError:Momento Python包未安装。 TypeError:cache_client不是momento.CacheClientObject类型。

Attributes

messages

从Momento中检索消息。

Methods

__init__(session_id, cache_client, cache_name, *)

实例化一个使用Momento作为后端的聊天消息历史记录缓存。

aadd_messages(messages)

添加一个消息列表。

aclear()

从存储中删除所有消息。

add_ai_message(message)

便利方法,用于将AI消息字符串添加到存储中。

add_message(message)

在缓存中存储一条消息。

add_messages(messages)

添加消息列表。

add_user_message(message)

方便的方法,用于向存储添加人类消息字符串。

aget_messages()

异步版本的获取消息。

clear()

从缓存中删除会话的消息。

from_client_params(session_id, cache_name, ...)

从CacheClient参数构建缓存。

Parameters
  • session_id (str) –

  • cache_client (momento.CacheClient) –

  • cache_name (str) –

  • key_prefix (str) –

  • ttl (Optional[timedelta]) –

  • ensure_cache_exists (bool) –

__init__(session_id: str, cache_client: momento.CacheClient, cache_name: str, *, key_prefix: str = 'message_store:', ttl: Optional[timedelta] = None, ensure_cache_exists: bool = True)[source]

实例化一个使用Momento作为后端的聊天消息历史记录缓存。

注意:要实例化传递给MomentoChatMessageHistory的缓存客户端,您必须在https://gomomento.com/拥有一个Momento账户。

参数:

session_id (str):用于此聊天会话的会话ID。 cache_client (CacheClient):Momento缓存客户端。 cache_name (str):用于存储消息的缓存的名称。 key_prefix (str, optional):要应用于缓存键的前缀。

默认为”message_store:”。

ttl (Optional[timedelta], optional):用于消息的TTL。

默认为None,即将使用缓存的默认TTL。

ensure_cache_exists (bool, optional):如果缓存不存在则创建缓存。

默认为True。

引发:

ImportError:Momento Python包未安装。 TypeError:cache_client不是momento.CacheClientObject类型。

Parameters
  • session_id (str) –

  • cache_client (momento.CacheClient) –

  • cache_name (str) –

  • key_prefix (str) –

  • ttl (Optional[timedelta]) –

  • ensure_cache_exists (bool) –

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]

在缓存中存储一条消息。

参数:

message(BaseMessage):要存储的消息对象。

引发:

SdkException:Momento服务或网络错误。 Exception:意外响应。

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]

clear() None[source]

从缓存中删除会话的消息。

引发:

SdkException:Momento 服务或网络错误。 Exception:意外响应。

Return type

None

classmethod from_client_params(session_id: str, cache_name: str, ttl: timedelta, *, configuration: Optional[momento.config.Configuration] = None, api_key: Optional[str] = None, auth_token: Optional[str] = None, **kwargs: Any) MomentoChatMessageHistory[source]

从CacheClient参数构建缓存。

Parameters
  • session_id (str) –

  • cache_name (str) –

  • ttl (timedelta) –

  • configuration (Optional[momento.config.Configuration]) –

  • api_key (Optional[str]) –

  • auth_token (Optional[str]) –

  • kwargs (Any) –

Return type

MomentoChatMessageHistory

Examples using MomentoChatMessageHistory