Elasticsearch
Elasticsearch 是一个分布式的、RESTful的搜索和分析引擎,能够执行向量和词汇搜索。它建立在 Apache Lucene 库之上。
本笔记本展示了如何使用 Elasticsearch
的聊天消息历史功能。
设置 Elasticsearch
设置 Elasticsearch 实例主要有两种方式:
-
Elastic Cloud. Elastic Cloud 是一个托管的 Elasticsearch 服务。注册 免费试用。
-
本地 Elasticsearch 安装. 通过本地 运行 Elasticsearch 开始使用。最简单的方法是使用官方的 Elasticsearch Docker 镜像。有关更多信息,请参见 Elasticsearch Docker 文档。
安装依赖
%pip install --upgrade --quiet elasticsearch langchain langchain-community
认证
如何获取默认 "elastic" 用户的密码
要获取默认 "elastic" 用户的 Elastic Cloud 密码,请:
- 登录到 Elastic Cloud 控制台
- 转到 "安全" > "用户"
- 找到 "elastic" 用户并点击 "编辑"
- 点击 "重置密码"
- 按照提示重置密码
使用用户名/密码
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密钥:
- 登录到Elastic Cloud控制台
- 打开
Kibana
并转到堆栈管理 > API密钥 - 点击“创建API密钥”
- 输入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"
)