- Notifications
You must be signed in to change notification settings - Fork462
Chat-based SQL Client and Editor for the next decade
License
sqlchat/sqlchat
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SQL Chat is a chat-based SQL client, which uses natural language to communicate with the database to implement operations such as query, modification, addition, and deletion of the database.
As we enter theDeveloper Tools 2.0 era,there is a massive opportunity to rebuild the existing tools using the chat-based interface. SQL Clientis no exception. Instead of navigating across many UI controls, a chat-based interface is muchmore intuitive. Of course, only if that works, and our goal is to deliver that experience.
SQL Chat is built byNext.js, it supports the following databases and will add more over time:
- MySQL
- PostgreSQL
- MSSQL
- TiDB Cloud
- OceanBase
If you usesqlchat.ai to connect to your database, you need to add 0.0.0.0 (allow all connections)to the database whitelist IP. Because sqlchat.AI is hosted onVercel whichuses dynamic IP. If this is a concern, please consider the self-host option below.
If you just want to run for your own use, supply the following options:
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
- Pass an arbitrary string to NEXTAUTH_SECRET otherwise next-auth will complain.
- If you chat to the database on the same host, you need to use
host.docker.internal
as the host inthe database connection setting.
- If you just want to use for yourself, then run without database. Check.env.nodb.
- If you want to offer a similar service assqlchat.ai, then run with database, check.env.usedb. The database is used to store account, usage info.
OPENAI_API_KEY
: OpenAI API key. You can get one fromhere.OPENAI_API_ENDPOINT
: OpenAI API endpoint. Defaults tohttps://api.openai.com
. UseOllama to set up self-host AI model and set the endpoint to it.NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY
: Set totrue
to allow users to bring their own OpenAI API key.
NEXT_PUBLIC_USE_DATABASE
: Set totrue
to start SQL Chat with database. This willenable following features:- Account system.
- Per-user quota enforcement.
- Payment.
- Usage data collection.
DATABASE_URL
: Applicable ifNEXT_PUBLIC_USE_DATABASE
istrue
. Postgres connection string to store data. e.g.postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat
.
Install dependencies
pnpm i
Generate prisma client
pnpm prisma generate
Make a copy of the example environment variables file:
cp .env.usedb .env
Add yourAPI key and OpenAI API Endpoint(optional) to the newly created
.env
file.
You can skip this section withNEXT_PUBLIC_USE_DATABASE=false
if you don't build features requiring database
Start a Postgres instance. For mac, you can useStackbBricks,DBngin orPostgres.app.
Create a database:
CREATEDATABASEsqlchat;
In
.env
file, assign the connection string to environment variableDATABASE_URL
andDATABASE_DIRECT_URL
.This article explains why we need two URLs.Set up database schema
pnpm prisma migrate dev
(Optional) Seed data
pnpm prisma db seed
Please sign up to get free quota
Seethis issue.
You exceeded your current quota, please check your plan and billing details
Your OpenAI Key has run out of quota. Please check yourOpenAI account.
About
Chat-based SQL Client and Editor for the next decade
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.