docs: Add MongoDBChatMessageHistory docstrings (#24608)

- **Description:** Add MongoDBChatMessageHistory rich docstrings.
- **Issue:** the issue #21983
This commit is contained in:
maang-h 2024-07-24 22:12:44 +08:00 committed by GitHub
parent 12c3454fd9
commit 22175738ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -21,17 +21,42 @@ DEFAULT_HISTORY_KEY = "History"
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 @@ class MongoDBChatMessageHistory(BaseChatMessageHistory):
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