Toggle Menu
Prev Up Next

# `langchain_community.chat_message_histories.elasticsearch`.ElasticsearchChatMessageHistory

class langchain_community.chat_message_histories.elasticsearch.ElasticsearchChatMessageHistory(index: str, session_id: str, *, es_connection: Optional[Elasticsearch] = None, es_url: Optional[str] = None, es_cloud_id: Optional[str] = None, es_user: Optional[str] = None, es_api_key: Optional[str] = None, es_password: Optional[str] = None, esnsure_ascii: Optional[bool] = True)

  [Deprecated] Chat message history that stores history in Elasticsearch.

  Parameters

    - es_url (Optional[str]) – URL of the Elasticsearch instance to connect to.

    - es_cloud_id (Optional[str]) – Cloud ID of the Elasticsearch instance to connect to.

    - es_user (Optional[str]) – Username to use when connecting to Elasticsearch.

    - es_password (Optional[str]) – Password to use when connecting to Elasticsearch.

    - es_api_key (Optional[str]) – API key to use when connecting to Elasticsearch.

    - es_connection (Optional[Elasticsearch]) – Optional pre-existing Elasticsearch connection.

    - esnsure_ascii (Optional[bool]) – Used to escape ASCII symbols in json.dumps. Defaults to True.

    - index (str) – Name of the index to use.

    - session_id (str) – Arbitrary key that is used to store the messages of a single chat session.

  Notes

  Deprecated since version 0.0.27: Use Use langchain-elasticsearch package instead.

  Attributes

  `messages` | Retrieve the messages from Elasticsearch

  Methods

  `__init__`(index, session_id, *[, ...]) |
  `aadd_messages`(messages) | Add a list of messages.
  `aclear`() | Remove all messages from the store
  `add_ai_message`(message) | Convenience method for adding an AI message string to the store.
  `add_message`(message) | Add a message to the chat session in Elasticsearch
  `add_messages`(messages) | Add a list of messages.
  `add_user_message`(message) | Convenience method for adding a human message string to the store.
  `aget_messages`() | Async version of getting messages.
  `clear`() | Clear session memory in Elasticsearch
  `connect_to_elasticsearch`(*[, es_url, ...]) |
  `get_user_agent`() |

  __init__(index: str, session_id: str, *, es_connection: Optional[Elasticsearch] = None, es_url: Optional[str] = None, es_cloud_id: Optional[str] = None, es_user: Optional[str] = None, es_api_key: Optional[str] = None, es_password: Optional[str] = None, esnsure_ascii: Optional[bool] = True)
    Parameters

      - index (str) –

      - session_id (str) –

      - es_connection (Optional[Elasticsearch]) –

      - es_url (Optional[str]) –

      - es_cloud_id (Optional[str]) –

      - es_user (Optional[str]) –

      - es_api_key (Optional[str]) –

      - es_password (Optional[str]) –

      - esnsure_ascii (Optional[bool]) –

  async aadd_messages(messages: Sequence[BaseMessage]) → None

    Add a list of messages.

    Parameters

      messages (Sequence[BaseMessage]) – A list of BaseMessage objects to store.

    Return type

      None

  async aclear() → None

    Remove all messages from the store

    Return type

      None

  add_ai_message(message: Union[AIMessage, str]) → None

    Convenience method for adding an AI message string to the store.

    Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

    This method may be deprecated in a future release.

    Parameters

      message (Union[AIMessage, str]) – The AI message to add.

    Return type

      None

  add_message(message: BaseMessage) → None

    Add a message to the chat session in Elasticsearch

    Parameters

      message (BaseMessage) –

    Return type

      None

  add_messages(messages: Sequence[BaseMessage]) → None

    Add a list of messages.

    Implementations should over-ride this method to handle bulk addition of messages in an efficient manner to avoid unnecessary round-trips to the underlying store.

    Parameters

      messages (Sequence[BaseMessage]) – A list of BaseMessage objects to store.

    Return type

      None

  add_user_message(message: Union[HumanMessage, str]) → None

    Convenience method for adding a human message string to the store.

    Please note that this is a convenience method. Code should favor the bulk add_messages interface instead to save on round-trips to the underlying persistence layer.

    This method may be deprecated in a future release.

    Parameters

      message (Union[HumanMessage, str]) – The human message to add

    Return type

      None

  async aget_messages() → List[BaseMessage]

    Async version of getting messages.

    Can over-ride this method to provide an efficient async implementation.

    In general, fetching messages may involve IO to the underlying persistence layer.

    Return type

      List[BaseMessage]

  clear() → None

    Clear session memory in Elasticsearch

    Return type

      None

  static connect_to_elasticsearch(*, es_url: Optional[str] = None, cloud_id: Optional[str] = None, api_key: Optional[str] = None, username: Optional[str] = None, password: Optional[str] = None) → Elasticsearch
    Parameters

      - es_url (Optional[str]) –

      - cloud_id (Optional[str]) –

      - api_key (Optional[str]) –

      - username (Optional[str]) –

      - password (Optional[str]) –

    Return type

      Elasticsearch

  static get_user_agent() → str
    Return type

      str

# Examples using ElasticsearchChatMessageHistory

- Elasticsearch

- If using Elastic Cloud: