diff --git a/libs/partners/mongodb/langchain_mongodb/chat_message_histories.py b/libs/partners/mongodb/langchain_mongodb/chat_message_histories.py index d50538b3c0ac8..be594e0921203 100644 --- a/libs/partners/mongodb/langchain_mongodb/chat_message_histories.py +++ b/libs/partners/mongodb/langchain_mongodb/chat_message_histories.py @@ -21,17 +21,42 @@ class MongoDBChatMessageHistory(BaseChatMessageHistory): """Chat message history that stores history in MongoDB. - Args: - connection_string: connection string to connect to MongoDB - session_id: arbitrary key that is used to store the messages - of a single chat session. - database_name: name of the database to use - collection_name: name of the collection to use - session_id_key: name of the field that stores the session id - history_key: name of the field that stores the chat history - create_index: whether to create an index on the session id field - index_kwargs: additional keyword arguments to pass to the index creation - """ + Setup: + Install ``langchain-mongodb`` python package. + + .. code-block:: bash + + pip install langchain-mongodb + + Instantiate: + .. code-block:: python + + from langchain_mongodb import MongoDBChatMessageHistory + + + history = MongoDBChatMessageHistory( + connection_string="mongodb://your-host:your-port/", # mongodb://localhost:27017/ + session_id = "your-session-id", + ) + + Add and retrieve messages: + .. code-block:: python + + # Add single message + history.add_message(message) + + # Add batch messages + history.add_messages([message1, message2, message3, ...]) + + # Add human message + history.add_user_message(human_message) + + # Add ai message + history.add_ai_message(ai_message) + + # Retrieve messages + messages = history.messages + """ # noqa: E501 def __init__( self, @@ -45,6 +70,27 @@ def __init__( create_index: bool = True, index_kwargs: Optional[Dict] = None, ): + """Initialize with a MongoDBChatMessageHistory instance. + + Args: + connection_string: str + connection string to connect to MongoDB. + session_id: str + arbitrary key that is used to store the messages of + a single chat session. + database_name: Optional[str] + name of the database to use. + collection_name: Optional[str] + name of the collection to use. + session_id_key: Optional[str] + name of the field that stores the session id. + history_key: Optional[str] + name of the field that stores the chat history. + create_index: Optional[bool] + whether to create an index on the session id field. + index_kwargs: Optional[Dict] + additional keyword arguments to pass to the index creation. + """ self.connection_string = connection_string self.session_id = session_id self.database_name = database_name