langchain_community.chat_message_histories.cosmos_db.CosmosDBChatMessageHistory

class langchain_community.chat_message_histories.cosmos_db.CosmosDBChatMessageHistory(cosmos_endpoint: str, cosmos_database: str, cosmos_container: str, session_id: str, user_id: str, credential: Any = None, connection_string: Optional[str] = None, ttl: Optional[int] = None, cosmos_client_kwargs: Optional[dict] = None)[source]

使用Azure CosmosDB支持的聊天消息历史记录。

初始化一个新的 CosmosDBChatMessageHistory 类的实例。

确保调用 prepare_cosmos 或使用上下文管理器来确保你的数据库已经准备就绪。

必须提供凭据或连接字符串之一。

Parameters
  • cosmos_endpoint (str) – Azure Cosmos DB 账户的连接端点。

  • cosmos_database (str) – 要使用的数据库的名称。

  • cosmos_container (str) – 要使用的容器的名称。

  • session_id (str) – 要使用的会话 ID,在加载时可以被覆盖。

  • user_id (str) – 要使用的用户 ID,在加载时可以被覆盖。

  • credential (Any) – 用于在 Azure Cosmos DB 进行身份验证的凭据。

  • connection_string (Optional[str]) – 用于进行身份验证的连接字符串。

  • ttl (Optional[int]) – 用于容器中文档的存活时间(以秒为单位)。

  • cosmos_client_kwargs (Optional[dict]) – 传递给 CosmosClient 的额外 kwargs。

Attributes

messages

一个返回消息列表的属性或特性。

Methods

__init__(cosmos_endpoint, cosmos_database, ...)

初始化一个新的 CosmosDBChatMessageHistory 类的实例。

aadd_messages(messages)

添加一个消息列表。

aclear()

从存储中删除所有消息。

add_ai_message(message)

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

add_message(message)

向商店添加一个自定义消息

add_messages(messages)

添加消息列表。

add_user_message(message)

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

aget_messages()

异步版本的获取消息。

clear()

清除此内存和宇宙中的会话内存。

load_messages()

从 Cosmos 检索消息

prepare_cosmos()

准备CosmosDB客户端。

upsert_messages()

更新cosmosdb项。

__init__(cosmos_endpoint: str, cosmos_database: str, cosmos_container: str, session_id: str, user_id: str, credential: Any = None, connection_string: Optional[str] = None, ttl: Optional[int] = None, cosmos_client_kwargs: Optional[dict] = None)[source]

初始化一个新的 CosmosDBChatMessageHistory 类的实例。

确保调用 prepare_cosmos 或使用上下文管理器来确保你的数据库已经准备就绪。

必须提供凭据或连接字符串之一。

Parameters
  • cosmos_endpoint (str) – Azure Cosmos DB 账户的连接端点。

  • cosmos_database (str) – 要使用的数据库的名称。

  • cosmos_container (str) – 要使用的容器的名称。

  • session_id (str) – 要使用的会话 ID,在加载时可以被覆盖。

  • user_id (str) – 要使用的用户 ID,在加载时可以被覆盖。

  • credential (Any) – 用于在 Azure Cosmos DB 进行身份验证的凭据。

  • connection_string (Optional[str]) – 用于进行身份验证的连接字符串。

  • ttl (Optional[int]) – 用于容器中文档的存活时间(以秒为单位)。

  • cosmos_client_kwargs (Optional[dict]) – 传递给 CosmosClient 的额外 kwargs。

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]

向商店添加一个自定义消息

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]

清除此内存和宇宙中的会话内存。

Return type

None

load_messages() None[source]

从 Cosmos 检索消息

Return type

None

prepare_cosmos() None[source]

准备CosmosDB客户端。

使用此函数或上下文管理器确保您的数据库已准备就绪。

Return type

None

upsert_messages() None[source]

更新cosmosdb项。

Return type

None