跳转到主要内容

与你的数据库交谈

项目描述

nldb

自然语言数据库。通过CLI、API或简单的Web界面用英语与你的数据交谈。

安装

pip install nldb

应有一个OpenAI API密钥作为OPENAI_API_KEY环境变量可用,例如使用export OPENAI_API_KEY=sk-etc或将其添加到你的项目的.env文件中。

准备你的数据库

NLDB可以与SQLite和DuckDB数据库交谈。将你的数据库命名为nldb.db或使用DATABASE环境变量指定名称。

你可能需要简化并反规范化你的数据库以便NLDB正常工作。你的列应具有显然含义的名称。虽然NLDB可以在表之间进行连接,但将你的数据合并到单个表中将减少提示大小并提高NLDB查询生成的准确性。

初始化NLDB

nldb init

这会创建三个文件:index.htmlDockerfileprompt.txt。现在你可以忽略前两个。

编辑你的提示

编辑prompt.txt,按照生成的文件中的示例和说明进行操作。你可以通过将提示粘贴到ChatGPT中,用一些示例问题替换%s来测试提示的有效性。

从命令行提问

nldb "What were the most watched videos by Japanese users in 2022?"

启动API服务器

nldb serve

这会启动一个API服务器,在端口8080上,有一个单一端点/api/ask。它期望一个带有q参数的GET请求,该参数用于自然语言查询。它返回一个包含SQL语句、执行语句的结果、一个简单的英文答案和一些时间和成本信息的JSON对象。

/有一个简单的API Web界面。如果你不想使用它,只需删除index.html

调整

编辑 prompt.txt 以改进生成的查询质量,重新启动服务器以查看更改。编辑 index.html 或替换为您自己的前端。

部署

为 Fly.io 和 Google Cloud Run 生成说明

nldb deploy

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

nldb-0.4.0.tar.gz (11.1 kB 查看哈希)

上传时间 源代码

构建分发

nldb-0.4.0-py2.py3-none-any.whl (10.9 kB 查看哈希)

上传时间 Python 2 Python 3

支持