SQL Chat 是一个基于聊天的 SQL 客户端,使用自然语言与数据库以沟通的方式,实现对数据库的查询、修改、新增、删除等操作。
随着我们进入 开发者工具 2.0 时代,使用基于聊天的界面重建现有工具的机会非常大。SQL Client 也不例外。与在许多 UI 控件之间导航不同,基于聊天的界面更加直观。当然,前提是那可行,而我们的目标就是提供这种体验。
SQL Chat 是由 Next.js 构建的,它支持以下数据库,并将随着时间的推移支持更多:
如果使用 sqlchat.ai 连接数据库,则需要在数据库白名单 I P 中添加 0.0.0.0(允许所有连接)。因为 sqlchat.ai 托管在 Vercel 上 使用动态 IP。如果这是一个问题,请考虑下面的自主机选项。
参阅 SQL Chat 隐私政策.
如果是自用,启动时提供下面两个参数即可:
NEXTAUTH_SECRET
OPENAI_API_KEY
docker run --name sqlchat --platform linux/amd64 --env NEXTAUTH_SECRET="$(openssl rand -hex 5)" --env OPENAI_API_KEY=<<YOUR OPENAI KEY>> -p 3000:3000 --hostname localhost sqlchat/sqlchat
host.docker.internal
作为 host。OPENAI_API_KEY
: OpenAI API key. 您能从 这里 获得。
OPENAI_API_ENDPOINT
: OpenAI API endpoint. 默认 https://api.openai.com
。使用 Ollama 来启动 self-host AI 模型,并且把 endpoint 指向它.
NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY
: 置为 true
以允许 SQL Chat 服务的用户使用自己的 key。
NEXT_PUBLIC_USE_DATABASE
: 置为 true
使得 SQL Chat 启动时使用数据库,这会开启如下功能:
DATABASE_URL
: 当 NEXT_PUBLIC_USE_DATABASE
是 true
时有效。用于保存数据的 Postgres 连接串 e.g. postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat
.安装依赖项
pnpm i
生成 prisma
客户端
pnpm prisma generate
复制示例环境变量文件;
cp .env.usedb .env
将您的 API 密钥 和 OpenAI API
端点(可选)添加到新创建的 .env
文件;
启动 Postgres 实例。对于 mac,您可以使用 StackbBricks, DBngin 或者 Postgres.app。
创建一个数据库:
CREATE DATABASE sqlchat;
在 .env
文件中, 将连接字符串分配给环境变量 DATABASE_URL
和 DATABASE_DIRECT_URL
。至于需要两个 URL 的原因见此.
设置数据库 schema
pnpm prisma migrate dev
初始化数据(可选)
pnpm prisma db seed
本项目使用 BSL 许可证。请参阅 LICENSE 文件以获取完整的许可文本。
这个表示你自己提供的 OpenAI Key 的 Quota 没有了。请查看自己的 OpenAI 账号。
请确保您有一个稳定的网络连接,可以访问 OpenAI API 端点。
ping api.openai.com
如果您无法访问 OpenAI API 端点,您可以尝试在 UI 或环境变量中设置 OPENAI_API_ENDPOINT
。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。