Skip to main content

弹性查询生成器

该模板允许使用LLMs以自然语言与Elasticsearch分析数据库进行交互。

它通过Elasticsearch DSL API(过滤器和聚合)构建搜索查询。

环境设置

设置OPENAI_API_KEY环境变量以访问OpenAI模型。

安装Elasticsearch

有多种运行Elasticsearch的方法。然而,一种推荐的方法是通过Elastic Cloud。

Elastic Cloud上创建一个免费试用账户。

通过部署,更新连接字符串。

密码和连接(elasticsearch url)可以在部署控制台上找到。

请注意,Elasticsearch客户端必须具有索引列表、映射描述和搜索查询的权限。

数据填充

如果您想用一些示例信息填充数据库,可以运行python ingest.py

这将创建一个customers索引。在这个包中,我们指定要针对生成查询的索引,并指定["customers"]。这是特定于设置您的Elastic索引的。

使用方法

要使用此包,您首先应该安装LangChain CLI:

pip install -U langchain-cli

要创建一个新的LangChain项目并将其安装为唯一的包,可以执行以下操作:

langchain app new my-app --package elastic-query-generator

如果要将其添加到现有项目中,只需运行:

langchain app add elastic-query-generator

并将以下代码添加到您的server.py文件中:

from elastic_query_generator.chain import chain as elastic_query_generator_chain
add_routes(app, elastic_query_generator_chain, path="/elastic-query-generator")

(可选)现在让我们配置LangSmith。

LangSmith将帮助我们跟踪、监视和调试LangChain应用程序。

您可以在这里注册LangSmith。

如果您没有访问权限,可以跳过此部分。

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # 如果未指定,默认为"default"

如果您在此目录中,则可以通过以下方式直接启动LangServe实例:

langchain serve

这将在本地启动FastAPI应用程序,服务器正在运行在http://localhost:8000

我们可以在http://127.0.0.1:8000/docs上查看所有模板。

我们可以在http://127.0.0.1:8000/elastic-query-generator/playground上访问playground。

我们可以通过以下代码访问模板:

from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/elastic-query-generator")

Was this page helpful?


You can leave detailed feedback on GitHub.