弹性查询生成器
该模板允许使用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")