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]¶
自 0.0.25 版本以来已弃用: 请使用
langchain_astradb.AstraDBChatMessageHistory
代替。存储在 Astra DB 中的聊天消息历史。
- 参数
session_id (str) – 任意键,用于存储单个聊天会话的消息。
collection_name (str) – 要创建/使用的 Astra DB 集合名称。
token (可选[str]) – Astra DB 使用 API 令牌。
api_endpoint (可选[str]) – API端点的完整URL,例如 "https://<DB-ID>-us-east1.apps.astra.datastax.com”。
astra_db_client (可选[AstraDB]) – 替代token+api_endpoint,您可以传递已创建的‘astrapy.db.AstraDB’实例。
async_astra_db_client (可选[AsyncAstraDB]) – 替代token+api_endpoint,您可以传递已创建的‘astrapy.db.AsyncAstraDB’实例。
namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。默认为数据库的“默认命名空间”。
setup_mode (SetupMode) – 创建Astra DB集合时使用的模式(同步、异步或关闭)。
pre_delete_collection (bool) – 是否在创建集合之前删除它。如果为False并且集合已存在,则将按原样使用该集合。
属性
messages
从数据库检索所有会话消息
方法
__init__
(*, session_id[, collection_name, ...])存储在 Astra DB 中的聊天消息历史。
aadd_messages
(messages)异步添加消息列表。
aclear
()异步从存储中删除所有消息
add_ai_message
(message)添加AI消息字符串到存储的便捷方法。
add_message
(message)向存储中添加Message对象。
add_messages
(messages)添加消息列表。
add_user_message
(message)添加人类消息字符串到存储的便捷方法。
获取消息的异步版本。
clear
()从存储中删除所有消息
- __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 [源代码]¶
存储在 Astra DB 中的聊天消息历史。
- 参数
session_id (str) – 任意键,用于存储单个聊天会话的消息。
collection_name (str) – 要创建/使用的 Astra DB 集合名称。
token (可选[str]) – Astra DB 使用 API 令牌。
api_endpoint (可选[str]) – API端点的完整URL,例如 "https://<DB-ID>-us-east1.apps.astra.datastax.com”。
astra_db_client (可选[AstraDB]) – 替代token+api_endpoint,您可以传递已创建的‘astrapy.db.AstraDB’实例。
async_astra_db_client (可选[AsyncAstraDB]) – 替代token+api_endpoint,您可以传递已创建的‘astrapy.db.AsyncAstraDB’实例。
namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。默认为数据库的“默认命名空间”。
setup_mode (SetupMode) – 创建Astra DB集合时使用的模式(同步、异步或关闭)。
pre_delete_collection (bool) – 是否在创建集合之前删除它。如果为False并且集合已存在,则将按原样使用该集合。
- 返回类型
None
- async aadd_messages(messages: Sequence[BaseMessage]) None [源代码]¶
异步添加消息列表。
- 参数
messages(《消息) - 存储的BaseMessage对象序列。
- 返回类型
None
- add_ai_message(message: Union[AIMessage, str]) None ¶
添加AI消息字符串到存储的便捷方法。
请注意,这是一个方便的方法。代码应优先选择批量添加的add_messages接口,以节省到基础持久层的往返通讯。
此方法可能在未来的版本中弃用。
- 参数
message(《消息) - 要添加的AI消息。
- 返回类型
None
- add_message(message: BaseMessage) None ¶
向存储中添加Message对象。
- 参数
message(《消息) - 要存储的BaseMessage对象。
- 引发
NotImplementedError(《未实现错误) - 如果子类未实现高效add_messages方法。
- 返回类型
None
- add_messages(messages: Sequence[BaseMessage]) None [source]¶
添加消息列表。
实现应该覆盖此方法,以高效处理消息的大量添加,以避免不必要的往返到基础存储。
- 参数
messages(《消息) - 存储的BaseMessage对象序列。
- 返回类型
None
- add_user_message(message: 联合[HumanMessage, str]) None ¶
添加人类消息字符串到存储的便捷方法。
请注意,这是一个方便的方法。代码应优先选择批量添加的add_messages接口,以节省到基础持久层的往返通讯。
此方法可能在未来的版本中弃用。
- 参数
message (联合[HumanMessage, str]) – 要添加到存储中的人类消息。
- 返回类型
None
- 异步 aget_messages() 列表[BaseMessage] [source]¶
获取消息的异步版本。
可以覆盖此方法以提供高效的异步实现。
一般情况下,获取消息可能涉及到底层持久化层的IO操作。
- 返回类型
列表[BaseMessage]