引言
SQL Chat
是一款创新的、对话式的SQL
客户端工具。
它采用自然语言处理技术,让你能够像与人交流一样,通过日常对话的形式对数据库执行查询、修改、创建及删除操作
极大地简化了数据库管理流程,提升了数据交互的直观性和效率。
在这个框架下,用户不再受限于传统的SQL
语句编写,而是可以使用接近人类日常语言的表述来表达其需求,使得数据库操作变得更加平易近人。
即使是非技术背景的人员也能轻松上手,实现高效的数据探索和管理。
SQL Chat
采用Next.js
框架来打造数据库交互工具,目前兼容并支持多种主流数据库系统,包括但不限于:
MySQL
,关系型数据库管理系统;PostgreSQL
,开源对象关系型数据库系统;MSSQL
,微软提供的企业级数据库平台;TiDB Cloud
,基于云的分布式NewSQL
数据库。
附上github地址:https://github.com/sqlchat/sqlchat
功能介绍
文本转SQL
在对话框中输入“Top 10 employees with the highest salary for each department”
翻译成中文是:“每个部门薪资最高的前10名员工”
AI会根据你的表述自动为你生成SQL
语句
执行SQL
执行SQL
语句得到每个部门薪资前10名员工的查询结果,从结果上来看是完全正确的
当前AI生成的提示词prompt
,并给出了token
长度
安装
安装前先准备好 OpenAI
秘钥等
OPENAI_API_KEY
: OpenAI API, key. 可以从 openai.com 官方获得。OPENAI_API_ENDPOINT
: OpenAI API endpoint. 默认https://api.openai.com
。NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY
: 置为true
以允许 SQL Chat 服务的用户使用自己的 key。
Docker安装
如果是自用,启动时提供下面两个参数即可:
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
。
本地安装
从git
中克隆项目,然后先配置数据库:
启动 Postgres
实例。
创建一个数据库:
CREATE DATABASE sqlchat;
设置数据库 schema
pnpm prisma migrate dev
初始化数据(可选)
pnpm prisma db seed
使用pnpm
安装并运行项目:
安装依赖项
pnpm i
生成 prisma
客户端
pnpm prisma generate
复制示例环境变量文件;
cp .env.usedb .env
将您的API秘钥和 OpenAI API
添加到新创建的 .env
文件;
运行
npm run dev
总结
综上所述,我们了解到SQL Chat
通过友好的自然语言对话界面来降低了数据库操作的门槛、支持多种数据库和docker
部署。
这种交互方式正逐渐改变我们与数据库交互的传统模式,开启了一个更加智能化、人性化的数据库操作时代。
– 欢迎点赞、关注、转发、收藏【我码玄黄】,gonghao同名