SQL Chat 是一个基于聊天的 SQL 客户端,使用自然语言与数据库以沟通的方式,实现对数据库的查询、修改、新增、删除等操作。
近期热文
当 AI 遇上爬虫:让数据提取变得前所未有的简单! 超强 OCR 新秀:支持 90 多种语言,性能超越云服务! 2024 年最完整的 AI Agents 清单来了,涉及 13 个领域,上百个 Agents! 7.8K Star RAG 引擎:基于深度文档理解,最大程度降低幻觉、无限上下文快速完成 “大海捞针” 测试!
SQL Chat 使用示例
Text2SQL
执行 SQL 语句
调试 Text2SQL
SQL Chat 启动参数
OpenAI 相关参数
OPENAI_API_KEY:OpenAI API key。 OPENAI_API_ENDPOINT:OpenAI API endpoint,默认为 https://api.openai.com。NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY:设置为 true以允许 SQL Chat 服务的用户使用自己的 OpenAI API 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。
Docker 部署 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
您需要传一个任意值给 NEXTAUTH_SECRET 否则 next-auth会报错。如果您连接同一个 host上的数据库,在数据库连接配置中,需要使用host.docker.internal作为host。
本地部署 SQL Chat
初始化项目
1.克隆项目
git clone https://github.com/sqlchat/sqlchat.git
2.安装依赖
pnpm i
3.生成 prisma 客户端
pnpm prisma generate
4.复制示例环境变量文件
cp .env.usedb .env
5.将您的 API 密钥 和 OpenAI API 端点添加到新创建的 .env 文件
配置数据库
1.启动 Postgres 实例。
2.创建一个数据库:
CREATE DATABASE sqlchat;
在 .env 文件中, 将连接字符串分配给环境变量 DATABASE_URL 和 DATABASE_DIRECT_URL。
3.设置数据库 schema
pnpm prisma migrate dev
4.初始化数据(可选)
pnpm prisma db seed
当完成项目初始化和数据库配置之后,在命令行输入 npm run dev 就可以启动项目。
在项目成功启动后,您就可以在浏览器打开 http://localhost:3000 地址,开始使用 SQL Chat 提供的文本生成 SQL 的功能。
https://github.com/sqlchat/sqlchat
