langchain_community.chat_message_histories.astradb
.AstraDBChatMessageHistory¶
- class langchain_community.chat_message_histories.astradb.AstraDBChatMessageHistory(*, session_id: str, collection_name: str = 'langchain_message_store', token: Optional[str] = None, api_endpoint: Optional[str] = None, astra_db_client: Optional[AstraDB] = None, async_astra_db_client: Optional[AsyncAstraDB] = None, namespace: Optional[str] = None, setup_mode: SetupMode = SetupMode.SYNC, pre_delete_collection: bool = False)[source]¶
[Deprecated]
Notes
Deprecated since version 0.0.25.
聊天消息历史记录,将历史记录存储在Astra DB中。
- 参数:
session_id: 用于存储单个聊天会话消息的任意键。 collection_name: 要创建/使用的Astra DB集合的名称。 token: 用于Astra DB使用的API令牌。 api_endpoint: API端点的完整URL,例如”https://<DB-ID>-us-east1.apps.astra.datastax.com”。 astra_db_client: token+api_endpoint的替代方案,可以传递一个已创建的’astrapy.db.AstraDB’实例。 async_astra_db_client: token+api_endpoint的替代方案,可以传递一个已创建的’astrapy.db.AsyncAstraDB’实例。 namespace: 创建集合的命名空间(又名键空间)。默认为数据库的“默认命名空间”。 setup_mode: 用于创建Astra DB集合的模式(SYNC、ASYNC或OFF)。 pre_delete_collection: 是否在创建集合之前删除集合。如果为False且集合已经存在,则将直接使用该集合。
Attributes
messages
从数据库中检索所有会话消息
Methods
__init__
(*, session_id[, collection_name, ...])聊天消息历史记录,将历史记录存储在Astra DB中。
aadd_messages
(messages)添加一个消息列表。
aclear
()从存储中删除所有消息。
add_ai_message
(message)便利方法,用于将AI消息字符串添加到存储中。
add_message
(message)将一个消息对象添加到存储中。
add_messages
(messages)添加消息列表。
add_user_message
(message)方便的方法,用于向存储添加人类消息字符串。
异步版本的获取消息。
clear
()从存储中删除所有消息。
- Parameters
- Return type
None
- __init__(*, session_id: str, collection_name: str = 'langchain_message_store', token: Optional[str] = None, api_endpoint: Optional[str] = None, astra_db_client: Optional[AstraDB] = None, async_astra_db_client: Optional[AsyncAstraDB] = None, namespace: Optional[str] = None, setup_mode: SetupMode = SetupMode.SYNC, pre_delete_collection: bool = False) None [source]¶
聊天消息历史记录,将历史记录存储在Astra DB中。
- 参数:
session_id: 用于存储单个聊天会话消息的任意键。 collection_name: 要创建/使用的Astra DB集合的名称。 token: 用于Astra DB使用的API令牌。 api_endpoint: API端点的完整URL,例如”https://<DB-ID>-us-east1.apps.astra.datastax.com”。 astra_db_client: token+api_endpoint的替代方案,可以传递一个已创建的’astrapy.db.AstraDB’实例。 async_astra_db_client: token+api_endpoint的替代方案,可以传递一个已创建的’astrapy.db.AsyncAstraDB’实例。 namespace: 创建集合的命名空间(又名键空间)。默认为数据库的“默认命名空间”。 setup_mode: 用于创建Astra DB集合的模式(SYNC、ASYNC或OFF)。 pre_delete_collection: 是否在创建集合之前删除集合。如果为False且集合已经存在,则将直接使用该集合。
- async aadd_messages(messages: Sequence[BaseMessage]) None [source]¶
添加一个消息列表。
- 参数:
messages: 要存储的BaseMessage对象列表。
- Parameters
messages (Sequence[BaseMessage]) –
- 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 ¶
将一个消息对象添加到存储中。
- 参数:
message: 要存储的BaseMessage对象。
- Parameters
message (BaseMessage) –
- Return type
None
- add_messages(messages: Sequence[BaseMessage]) None [source]¶
添加消息列表。
实现应该重写此方法,以有效地处理消息的批量添加,以避免不必要地往基础存储中进行往返。
- 参数:
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] [source]¶
异步版本的获取消息。
可以重写此方法以提供高效的异步实现。
通常,获取消息可能涉及到与底层持久化层的IO操作。
- Return type
List[BaseMessage]