Couchbase聊天消息历史#

class langchain_couchbase.chat_message_histories.CouchbaseChatMessageHistory(*, cluster: Cluster, bucket_name: str, scope_name: str, collection_name: str, session_id: str, session_id_key: str = 'session_id', message_key: str = 'message', create_index: bool = True, ttl: timedelta | None = None)[源代码]#

Couchbase 聊天消息历史 使用 Couchbase 作为存储的聊天消息历史

初始化Couchbase聊天消息历史 :param cluster: 具有活动连接的couchbase集群对象。 :type cluster: Cluster :param bucket_name: 存储文档的桶的名称。 :type bucket_name: str :param scope_name: 存储文档的桶中的范围的名称。 :type scope_name: str :param collection_name: 存储文档的范围中的集合的名称。

文档在。

Parameters:
  • session_id (str) – 用于关联来自单个聊天会话的消息的会话值。它作为聊天消息中的一个字段存储。

  • session_id_key (str) – 用于会话ID的字段名称。 默认设置为“session_id”。

  • message_key (str) – 用于消息的字段名称 默认设置为“message”。

  • create_index (bool) – 如果为True,则创建索引。默认设置为True。

  • ttl (timedelta) – 集合中文档的生存时间。 设置后,文档在 ttl 过期后会自动删除。

  • cluster (Cluster)

  • bucket_name (str)

  • scope_name (str)

  • collection_name (str)

属性

messages

获取与session_id关联的缓存中的所有消息

方法

__init__(*, cluster, bucket_name, ...[, ...])

初始化Couchbase聊天消息历史记录 :param cluster: 具有活动连接的couchbase集群对象。 :type cluster: Cluster :param bucket_name: 存储文档的桶的名称。 :type bucket_name: str :param scope_name: 存储文档的桶中的范围的名称。 :type scope_name: str :param collection_name: 存储文档的范围中的集合的名称。 :type collection_name: str :param session_id: 用于关联来自单个聊天会话的消息的会话值。它作为聊天消息中的一个字段存储。 :type session_id: str :param session_id_key: 用于会话ID的字段名称。默认设置为"session_id"。 :type session_id_key: str :param message_key: 用于消息的字段名称。默认设置为"message"。 :type message_key: str :param create_index: 如果为True,则创建索引。默认设置为True。 :type create_index: bool :param ttl: 集合中文档的生存时间。设置后,文档在ttl到期后自动删除。 :type ttl: timedelta.

aadd_messages(messages)

异步添加消息列表。

aclear()

异步从存储中移除所有消息

add_ai_message(message)

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

add_message(message)

向缓存中添加一条消息

add_messages(messages)

以批处理方式将消息添加到缓存中

add_user_message(message)

用于将人类消息字符串添加到存储中的便捷方法。

aget_messages()

获取消息的异步版本。

clear()

清除缓存

__init__(*, cluster: Cluster, bucket_name: str, scope_name: str, collection_name: str, session_id: str, session_id_key: str = 'session_id', message_key: str = 'message', create_index: bool = True, ttl: timedelta | None = None) None[来源]#

初始化Couchbase聊天消息历史 :param cluster: 具有活动连接的couchbase集群对象。 :type cluster: Cluster :param bucket_name: 存储文档的桶的名称。 :type bucket_name: str :param scope_name: 存储文档的桶中的范围的名称。 :type scope_name: str :param collection_name: 存储文档的范围中的集合的名称。

文档在。

Parameters:
  • session_id (str) – 用于关联来自单个聊天会话的消息的会话值。它作为聊天消息中的一个字段存储。

  • session_id_key (str) – 用于会话ID的字段名称。 默认设置为“session_id”。

  • message_key (str) – 用于消息的字段名称 默认设置为“message”。

  • create_index (bool) – 如果为True,则创建索引。默认设置为True。

  • ttl (timedelta) – 集合中文档的生存时间。 设置后,文档在 ttl 过期后会自动删除。

  • cluster (Cluster)

  • bucket_name (str)

  • scope_name (str)

  • collection_name (str)

Return type:

async aadd_messages(messages: Sequence[BaseMessage]) None#

异步添加消息列表。

Parameters:

messages (Sequence[BaseMessage]) – 要存储的BaseMessage对象序列。

Return type:

async aclear() None#

异步从存储中移除所有消息

Return type:

add_ai_message(message: AIMessage | str) None#

向存储中添加AI消息字符串的便捷方法。

请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少与底层持久层的往返次数。

此方法可能在未来的版本中被弃用。

Parameters:

message (AIMessage | str) – 要添加的AI消息。

Return type:

add_message(message: BaseMessage) None[来源]#

向缓存添加一条消息

Parameters:

消息 (BaseMessage)

Return type:

add_messages(messages: Sequence[BaseMessage]) None[source]#

以批处理方式将消息添加到缓存中

Parameters:

消息 (序列[BaseMessage])

Return type:

add_user_message(message: HumanMessage | str) None#

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

请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少对底层持久层的往返次数。

此方法可能在未来的版本中被弃用。

Parameters:

message (HumanMessage | str) – 要添加到存储中的人类消息。

Return type:

async aget_messages() list[BaseMessage]#

获取消息的异步版本。

可以重写此方法以提供高效的异步实现。

通常,获取消息可能涉及到底层持久层的IO操作。

Return type:

列表[BaseMessage]

clear() None[source]#

清除缓存

Return type: