0


基于聊天的SQL客户端SQL Chat

在这里插入图片描述

本文完成于

6

月初,当时的版本存在

bug

,自己添加的数据库会连不上,在本文发稿前,更新了最新的版本后,该问题已解决

什么是 SQL Chat ?

SQL Chat

是一个基于聊天的

SQL

客户端,使用自然语言与数据库以沟通的方式,实现对数据库的查询、修改、新增、删除等操作。

SQL Chat

是由

Next.js

构建的,目前支持

MySQL

PostgreSQL

MSSQL

TiDB Cloud

数据库,未来将会支持更多。

官方提供了在线

demo

,地址:https://www.sqlchat.ai

安装

在群晖上以 Docker 方式安装。

在注册表中搜索

sqlchat

,选择第一个

sqlchat/sqlchat

,因为只有一个

latest

版本

双击会直接下载

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用netstat-tunlp|grep 端口号

本地端口容器端口

3761
3000

环境

可变值

NEXTAUTH_SECRET

可以理解为密码,任意字符串,例如

ef364b235c
OPENAI_API_KEY
One API

的令牌

OPENAI_API_ENDPOINT

默认为

https://api.openai.com

,设为

One API

地址

NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY

设为

true

以允许

SQL Chat

服务的用户使用自己的

 key


关于环境变量,老苏多唠叨几句,因为

OpenAI

在国内访问需要科学和稳定的网络,所以老苏还是选择了

One API

+

kimi-free-api

方案

文章传送门:大模型接口管理和分发系统One API

但因为没有指定模型的环境变量,设置中也只支持

GPT-3.5

GPT-4

两种模型

所以需要在原来的渠道中,增加模型的名称

gpt-3.5-turbo

通过这种移花接木的手段,可以让

SQL Chat

kimi-free-api

当做

OpenAI

命令行安装

如果你熟悉命令行,可能用

docker cli

更快捷

# 新建文件夹 sqlchatmkdir-p /volume1/docker/sqlchat

# 进入 sqlchat 目录cd /volume1/docker/sqlchat

# 运行容器docker run -d\--restart unless-stopped \--name sqlchat \--hostname localhost \-p3761:3000 \-eNEXTAUTH_SECRET="$(openssl rand -hex5)"\-eOPENAI_API_KEY=sk-bn6M52bOfdxYB3n2Ee717eA2C66b45318f1c95E4D9553d94 \-eOPENAI_API_ENDPOINT=http://192.168.0.197:3033 \-eNEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY=true \
   sqlchat/sqlchat

也可以用

docker-compose

安装,将下面的内容保存为

docker-compose.yml

文件

version:'3'services:sqlchat:image: sqlchat/sqlchat
    container_name: sqlchat
    restart: unless-stopped
    ports:- 3761:3000environment:- NEXTAUTH_SECRET=ef364b235c
      - OPENAI_API_KEY=sk-bn6M52bOfdxYB3n2Ee717eA2C66b45318f1c95E4D9553d94
      - OPENAI_API_ENDPOINT=http://192.168.0.197:3033- NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY=true

然后执行下面的命令

# 新建文件夹 sqlchatmkdir-p /volume1/docker/sqlchat

# 进入 sqlchat 目录cd /volume1/docker/sqlchat

# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行

在浏览器中输入

http://群晖IP:3761

就能看到主界面

中文

左下角齿轮进入设置,在

language

中找到

简体中文

Chat DB

选择

Sample PostgreSQL

作为示例数据库

比如

查询 employee 表的记录

Run SQL

可以查看运行结果

可以继续提问

当然我们也可以创建自己的

但奇怪的是,不管怎么设置都没能成功,真是绝了

  • IP 显示 connect ETIMEDOUT

  • host.docker.internal (这个域名一般在 Docker for MacDocker for Windows 中可以使用)显示 getaddrinfo ENOTFOUND host.docker.internal

是我设置的问题还是

Bug?

,反正日志中看不到什么信息

延后了

2

个月,重新更新了最新的镜像后,发现已经好了

看来

6

月初的版本确实存在

bug

,但并不清楚具体是什么时候修复的

参考文档

sqlchat/sqlchat: Chat-based SQL Client and Editor for the next decade
地址:https://github.com/sqlchat/sqlchat

sqlchat.ai
地址:https://www.sqlchat.ai/


本文转载自: https://blog.csdn.net/wbsu2004/article/details/141087262
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。

“基于聊天的SQL客户端SQL Chat”的评论:

还没有评论