SQL Chat:从SQL到SPEAKL的数据库操作新纪元

news2024/11/29 8:46:55

引言

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

image

本地安装

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同名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1804503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python】 闭包

什么是闭包 用一句话粗略概况为&#xff1a;在一个函数内&#xff0c;读取外部函数定义的变量的机制。更一般地说&#xff0c;闭包函数是带有状态的函数&#xff0c;状态是指调用环境的上下文&#xff0c;当函数带上了状态就是闭包。 如下代码&#xff0c;在函数f内定义了一个…

IT闲谈-Kylin入门教程

目录 一、引言二、Kylin简介三、环境准备四、安装与配置五、数据导入与建模六、查询与分析七、总结 一、引言 Apache Kylin是一个开源的分布式分析引擎&#xff0c;旨在提供Hadoop/Spark之上的SQL接口及多维分析&#xff08;OLAP&#xff09;能力以支持超大规模数据。Kylin通过…

折腾日记:废物利用改造kindle为天气预报日历

个人博客地址 很早之前购买了kindle用来看电纸书&#xff0c;后面也逐渐吃灰了&#xff0c;尤其当去年kndle电子书店停止服务后&#xff0c;就一直没充过电了&#xff0c;中途有段时间想着&#xff0c;当时买的时候还挺贵&#xff0c;不能这么浪费了&#xff0c;给它充满电后&a…

MathType7.8永久破解版下载 让数学学习变得简单有趣!

大家好&#xff0c;我是科技评论家。今天给大家推荐一款非常实用的数学公式编辑器——MathType 7.8&#xff01;&#x1f4f1;&#x1f4b0; 在数字化时代&#xff0c;学术研究、教学和科研领域中的数学公式编辑需求越来越高。而MathType 7.8作为一个广受欢迎的数学公式编辑器&…

DBeaver连接MySQL提示“Public Key Retrieval is not allowed“问题的解决方式

问题描述 客户端root用户连接数据库出现出现Public Key Retrieval is not allowed 原因分析&#xff1a; 加上allowPublicKeyRetrievalfalse&#xff1a; 解决方案&#xff1a; allowPublicKeyRetrievaltrue&#xff1a;

【面试干货】 Hash 索引和 B+树索引的区别

【面试干货】 Hash 索引和 B树索引的区别 1、Hash 索引2、B 树索引3、区别和适用场景 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在数据库中&#xff0c;索引是一种重要的数据结构&#xff0c;用于加速查询操作。常见的索引包括 Hash 索…

tkinter颜色选择器

tkinter颜色选择器 颜色选择器效果代码 颜色选择器 Tkinter 提供了一个简单易用的颜色选择器模块 colorchooser&#xff0c;通过调用 colorchooser.askcolor() 方法&#xff0c;我们可以轻松实现颜色选择功能。 效果 代码 import tkinter as tk from tkinter import colorch…

智慧社区整体解决方案

1.智慧社区整体建设方案内容 2.整体功能介绍

【NOI-题解】1468. 小鱼的航程1074 - 小青蛙回来了1261. 韩信点兵1254. 求车速1265. 爱因斯坦的数学题

文章目录 一、前言二、问题问题&#xff1a;1468. 小鱼的航程问题&#xff1a;1074 - 小青蛙回来了问题&#xff1a;1261. 韩信点兵问题&#xff1a;1254. 求车速问题&#xff1a;1265. 爱因斯坦的数学题 三、感谢 一、前言 本节主要对循环中需要流程控制的题目进行讲解&#…

Numba 的 CUDA 示例(4/4):原子和互斥

本教程为 Numba CUDA 示例 第 4 部分。 本系列第 4 部分总结了使用 Python 从头开始学习 CUDA 编程的旅程 介绍 在本系列的前三部分&#xff08;第 1 部分&#xff0c;第 2 部分&#xff0c;第 3 部分&#xff09;中&#xff0c;我们介绍了 CUDA 开发的大部分基础知识&#xf…

C语言王国——数据的内存管理

目录 一、引言 二、整形在内存中的存储 2.1 进制之间的转换 2.1.1 整形的二进制 2.1.2 十进制和二进制 2.1.3 十进制和八进制的转换 2.1.4 十六进制和十进制的转换 2.2 原码&#xff0c;反码&#xff0c;和补码 三、大、小端字节序 3.1 大小端的定义 3.2 为什么会有大…

LabVIEW FPGA开发NI sbRIO-9607高精度数字滤波器

使用NI sbRIO-9607硬件平台&#xff0c;通过LabVIEW FPGA模块实现一个高精度数字滤波器。该应用不需要额外的实时操作系统 (RT)&#xff0c;所有控制与数据处理均在sbRIO-9607的FPGA上完成&#xff0c;充分利用其并行处理能力&#xff0c;实现低延迟、高性能的数据滤波。这种滤…

【Git】Git 的基本操作 -- 详解

一、创建 Git 本地仓库 要提前说的是&#xff0c;仓库是进行版本控制的一个文件目录。我们要想对文件进行版本控制&#xff0c;就必须先创建一个仓库出来。 创建⼀个 Git 本地仓库对应的命令为 git init &#xff0c;注意命令要在文件目录下执行&#xff0c;例如&#xff1a;…

IT闲谈-IMD是什么,有什么优势

目录 一、引言二、IDM是什么&#xff1f;三、IDM的优势1. 高速下载2. 稳定性强3. 强大的任务管理4. 视频下载5. 浏览器整合 四、应用场景1. 商务办公2. 教育学习3. 娱乐休闲 总结 一、引言 在数字化时代&#xff0c;下载管理器已成为我们日常工作和生活中不可或缺的工具。而在…

Rethinking overlooked aspects in vision-language models

探讨多模态视觉语言模型的一些有趣结论欢迎关注 CVHub!https://mp.weixin.qq.com/s/zouNu-g-33_7JoX3Uscxtw1.Introduction 多模态模型架构上的变化不大,数据的差距比较大,输入分辨率和输入llm的视觉token大小是比较关键的,适配器,VIT和语言模型则不是那么关键。InternVL-…

SpringCloud-远程调用OpenFeign-基本使用

目录 1 直接使用RestTemplate发起Http请求 1.1 将RestTemplate注册为SpringBean 1.2 在service实现类中注入RestTemplate 1.3 使用注入的RestTemplate 传入参数后发起http请求 2 引入Nacos后使用RestTemplate发起Http请求 2.1 基础知识 2.2 Nacos的使用 2.2.1 引入nac…

pytorch 自定义学习率更新 Poly

Poly 学习率调整策略需要继承_LRScheduler类&#xff0c;该类包含三个重要属性和两个重要方法 学习率与batch-size的关系 一般来说&#xff0c;batch-size的大小一般与学习率的大小成正比。batch-size越大一般意味着算法收敛方向的置信度越大&#xff0c;也可以选择较大的学…

四川赤橙宏海商务信息咨询有限公司引领抖音电商新纪元

在数字化浪潮席卷全球的今天&#xff0c;电商行业正以前所未有的速度蓬勃发展。作为电商领域的一匹黑马&#xff0c;四川赤橙宏海商务信息咨询有限公司凭借其专业的服务理念和创新的运营策略&#xff0c;在抖音电商领域崭露头角&#xff0c;成为行业内的佼佼者。 赤橙宏海商务…

coap:安装libcoap

# 称最新版的openssl 安装依赖东东 yum install -y libtool doxygen asciidoc perl-IPC-Cmd下载解压 cd /chz/install/openssl wget https://www.openssl.org/source/openssl-3.3.1.tar.gz tar zxvf openssl-3.3.1.tar.gz编译安装 cd /chz/install/openssl/openssl-3.3.1 .…

关于焊点检测(SJ-BIST)模块实现

关于焊点检测&#xff08;SJ-BIST&#xff09;模块实现 语言 &#xff1a;Verilg HDL 、VHDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于焊点检测&#xff08;SJ-BIST&#xff09;模块实现一、引言二、焊点检测功能的实现方法&#xff08;1&#xff09; 输入接口&#x…