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)方便的方法,用于向存储添加人类消息字符串。
异步版本的获取消息。
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