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")

=======