Elasticsearch聊天消息历史#
- class langchain_community.chat_message_histories.elasticsearch.ElasticsearchChatMessageHistory(index: str, session_id: str, *, es_connection: Elasticsearch | None = None, es_url: str | None = None, es_cloud_id: str | None = None, es_user: str | None = None, es_api_key: str | None = None, es_password: str | None = None, ensure_ascii: bool | None = True)[source]#
自版本0.0.27起已弃用:请改用
Use langchain-elasticsearch package
。在Elasticsearch中存储历史的聊天消息历史记录。
- Parameters:
es_url (str | None) – 要连接的Elasticsearch实例的URL。
es_cloud_id (str | None) – 要连接的Elasticsearch实例的云ID。
es_user (str | None) – 连接到Elasticsearch时使用的用户名。
es_password (str | None) – 连接到Elasticsearch时使用的密码。
es_api_key (str | None) – 连接到Elasticsearch时使用的API密钥。
es_connection (Elasticsearch | None) – 可选的预先存在的Elasticsearch连接。
ensure_ascii (bool | None) – 用于在json.dumps中转义ASCII符号。默认为True。
index (str) – 要使用的索引名称。
session_id (str) – 用于存储单个聊天会话消息的任意键。
属性
messages
从Elasticsearch中检索消息
方法
__init__
(index, session_id, *[, ...])aadd_messages
(messages)异步添加消息列表。
aclear
()异步从存储中移除所有消息
add_ai_message
(message)用于将AI消息字符串添加到存储中的便捷方法。
add_message
(message)向Elasticsearch中的聊天会话添加一条消息
add_messages
(messages)添加消息列表。
add_user_message
(message)用于将人类消息字符串添加到存储中的便捷方法。
获取消息的异步版本。
clear
()清除Elasticsearch中的会话内存
connect_to_elasticsearch
(*[, es_url, ...])- __init__(index: str, session_id: str, *, es_connection: Elasticsearch | None = None, es_url: str | None = None, es_cloud_id: str | None = None, es_user: str | None = None, es_api_key: str | None = None, es_password: str | None = None, ensure_ascii: bool | None = True)[来源]#
- Parameters:
index (str)
session_id (str)
es_connection (Elasticsearch | None)
es_url (str | None)
es_cloud_id (str | None)
es_user (str | None)
es_api_key (str | None)
es_password (str | None)
ensure_ascii (布尔值 | 无)
- async aadd_messages(messages: Sequence[BaseMessage]) None #
异步添加消息列表。
- Parameters:
messages (Sequence[BaseMessage]) – 要存储的BaseMessage对象序列。
- Return type:
无
- async aclear() None #
异步从存储中移除所有消息
- Return type:
无
- add_ai_message(message: AIMessage | str) None #
向存储中添加AI消息字符串的便捷方法。
请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少与底层持久层的往返次数。
此方法可能在未来的版本中被弃用。
- Parameters:
message (AIMessage | str) – 要添加的AI消息。
- Return type:
无
- add_message(message: BaseMessage) None [源代码]#
在Elasticsearch的聊天会话中添加一条消息
- Parameters:
消息 (BaseMessage)
- Return type:
无
- add_messages(messages: Sequence[BaseMessage]) None #
添加消息列表。
实现应重写此方法,以高效地处理消息的批量添加,避免对底层存储进行不必要的往返。
- Parameters:
messages (Sequence[BaseMessage]) – 要存储的BaseMessage对象序列。
- Return type:
无
- add_user_message(message: HumanMessage | str) None #
用于向存储中添加人类消息字符串的便捷方法。
请注意,这是一个便捷方法。代码应优先使用批量 add_messages 接口,以减少对底层持久层的往返次数。
此方法可能在未来的版本中被弃用。
- Parameters:
message (HumanMessage | str) – 要添加到存储中的人类消息。
- Return type:
无
- async aget_messages() list[BaseMessage] #
获取消息的异步版本。
可以重写此方法以提供高效的异步实现。
通常,获取消息可能涉及到底层持久层的IO操作。
- Return type:
列表[BaseMessage]
- static connect_to_elasticsearch(*, es_url: str | None = None, cloud_id: str | None = None, api_key: str | None = None, username: str | None = None, password: str | None = None) Elasticsearch [source]#
- Parameters:
es_url (str | None)
cloud_id (str | None)
api_key (str | None)
username (str | None)
password (str | None)
- Return type:
Elasticsearch
使用 ElasticsearchChatMessageHistory 的示例