跳到主要內容
Open In ColabOpen on GitHub

Elasticsearch

Elasticsearch 是一個分散式、RESTful 的搜尋和分析引擎,能夠執行向量和詞彙搜尋。它建立在 Apache Lucene 程式庫之上。

此筆記本展示如何將聊天訊息歷史記錄功能與 Elasticsearch 一起使用。

設定 Elasticsearch

設定 Elasticsearch 執行個體主要有兩種方法

  1. Elastic Cloud。 Elastic Cloud 是一種託管式 Elasticsearch 服務。註冊 免費試用

  2. 本地 Elasticsearch 安裝。 透過在本地執行 Elasticsearch 開始使用。最簡單的方法是使用官方 Elasticsearch Docker 映像。請參閱 Elasticsearch Docker 文件 以取得更多資訊。

安裝依賴項

%pip install --upgrade --quiet  elasticsearch langchain langchain-community

身份驗證

如何取得預設「elastic」使用者的密碼

若要取得預設「elastic」使用者的 Elastic Cloud 密碼

  1. 登入 Elastic Cloud 主控台
  2. 前往「安全性」>「使用者」
  3. 找到「elastic」使用者,然後按一下「編輯」
  4. 按一下「重設密碼」
  5. 依照提示重設密碼

使用使用者名稱/密碼

es_username = os.environ.get("ES_USERNAME", "elastic")
es_password = os.environ.get("ES_PASSWORD", "change me...")

history = ElasticsearchChatMessageHistory(
es_url=es_url,
es_user=es_username,
es_password=es_password,
index="test-history",
session_id="test-session"
)

如何取得 API 金鑰

若要取得 API 金鑰

  1. 登入 Elastic Cloud 主控台
  2. 開啟 Kibana 並前往 Stack Management > API 金鑰
  3. 按一下「建立 API 金鑰」
  4. 輸入 API 金鑰的名稱,然後按一下「建立」

使用 API 金鑰

es_api_key = os.environ.get("ES_API_KEY")

history = ElasticsearchChatMessageHistory(
es_api_key=es_api_key,
index="test-history",
session_id="test-session"
)

初始化 Elasticsearch 客戶端和聊天訊息歷史記錄

import os

from langchain_community.chat_message_histories import (
ElasticsearchChatMessageHistory,
)

es_url = os.environ.get("ES_URL", "https://127.0.0.1:9200")

# If using Elastic Cloud:
# es_cloud_id = os.environ.get("ES_CLOUD_ID")

# Note: see Authentication section for various authentication methods

history = ElasticsearchChatMessageHistory(
es_url=es_url, index="test-history", session_id="test-session"
)

使用聊天訊息歷史記錄

history.add_user_message("hi!")
history.add_ai_message("whats up?")
indexing message content='hi!' additional_kwargs={} example=False
indexing message content='whats up?' additional_kwargs={} example=False

此頁面是否有幫助?