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]¶
Chat message history backed by Azure CosmosDB.
Initializes a new instance of the CosmosDBChatMessageHistory class.
Make sure to call prepare_cosmos or use the context manager to make sure your database is ready.
Either a credential or a connection string must be provided.
- Parameters
cosmos_endpoint (str) – The connection endpoint for the Azure Cosmos DB account.
cosmos_database (str) – The name of the database to use.
cosmos_container (str) – The name of the container to use.
session_id (str) – The session ID to use, can be overwritten while loading.
user_id (str) – The user ID to use, can be overwritten while loading.
credential (Any) – The credential to use to authenticate to Azure Cosmos DB.
connection_string (Optional[str]) – The connection string to use to authenticate.
ttl (Optional[int]) – The time to live (in seconds) to use for documents in the container.
cosmos_client_kwargs (Optional[dict]) – Additional kwargs to pass to the CosmosClient.
Attributes
messages
A property or attribute that returns a list of messages.
Methods
__init__
(cosmos_endpoint, cosmos_database, ...)Initializes a new instance of the CosmosDBChatMessageHistory class.
aadd_messages
(messages)Add a list of messages.
aclear
()Remove all messages from the store
add_ai_message
(message)Convenience method for adding an AI message string to the store.
add_message
(message)Add a self-created message to the store
add_messages
(messages)Add a list of messages.
add_user_message
(message)Convenience method for adding a human message string to the store.
Async version of getting messages.
clear
()Clear session memory from this memory and cosmos.
Retrieve the messages from Cosmos
Prepare the CosmosDB client.
Update the cosmosdb item.
- __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]¶
Initializes a new instance of the CosmosDBChatMessageHistory class.
Make sure to call prepare_cosmos or use the context manager to make sure your database is ready.
Either a credential or a connection string must be provided.
- Parameters
cosmos_endpoint (str) – The connection endpoint for the Azure Cosmos DB account.
cosmos_database (str) – The name of the database to use.
cosmos_container (str) – The name of the container to use.
session_id (str) – The session ID to use, can be overwritten while loading.
user_id (str) – The user ID to use, can be overwritten while loading.
credential (Any) – The credential to use to authenticate to Azure Cosmos DB.
connection_string (Optional[str]) – The connection string to use to authenticate.
ttl (Optional[int]) – The time to live (in seconds) to use for documents in the container.
cosmos_client_kwargs (Optional[dict]) – Additional kwargs to pass to the CosmosClient.
- async aadd_messages(messages: Sequence[BaseMessage]) None ¶
Add a list of messages.
- Parameters
messages (Sequence[BaseMessage]) – A list of BaseMessage objects to store.
- Return type
None
- async aclear() None ¶
Remove all messages from the store
- Return type
None
- add_ai_message(message: Union[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 (Union[AIMessage, str]) – The AI message to add.
- Return type
None
- add_message(message: BaseMessage) None [source]¶
Add a self-created message to the store
- 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 list of BaseMessage objects to store.
- Return type
None
- add_user_message(message: Union[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 (Union[HumanMessage, str]) – The human message to add
- 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]