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)

用于将人类消息字符串添加到存储中的便捷方法。

aget_messages()

获取消息的异步版本。

clear()

清除Elasticsearch中的会话内存

connect_to_elasticsearch(*[, es_url, ...])

get_user_agent()

__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]

clear() None[source]#

清除Elasticsearch中的会话内存

Return type:

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

static get_user_agent() str[来源]#
Return type:

字符串

使用 ElasticsearchChatMessageHistory 的示例