栖居在城市的大地上,分享城市中的感想予你,在留言板留下你的足迹,希望你在这里有所收获,祝幸运

GPT+SQL 开发=SQLGPT

GPT + SQL开发:

实现根据语言提问生成你想要的结果,省去亲自写sql查询的过程。

前期背景

LangChain:由语言模型LLMs驱动的应用程序框架,它允许用户围绕大型语言模型快速构建应用程序和管道。
可以直接与 OpenAI 的 ChatGPT 模型以及 Hugging Face 集成。通过 langChain 可快速构建聊天机器人、生成式问答(GQA)、本文摘要等应用场景。

将GPT连接到自己的知识库,形成自己的知识空间。

SQL Chat:github.com/sqlchat/sqlchat
一个基于聊天的 SQL 客户端,使用自然语言与数据库以沟通的方式,实现对数据库的查询、修改、新增、删除等操作。
目标是:辅助数据开发工程师的工作,减少SQL代码编辑的复杂与繁琐的程度,减轻数据开发工程师的工作量,使开发工程师预留更多时间用于相关业务的梳理与沟通。

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


功能实现

使用 Docker 自托管


docker run --name sqlchat --platform linux/amd64 -env NEXTAUTH_SECRET=xxx -p 3000:3000 sqlchat/sqlchat

OpenAI 相关变量:

  • NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY : 设置为 true 如果你允许用户提供自己的 OpenAI API key.
  • OPENAI_API_KEY : OpenAI API Key,通过这里申请。
  • OPENAI_API_ENDPOINT : OpenAI API 端点,默认为 https://api.openai.com

数据库相关变量:

  • NEXT_PUBLIC_DATABASE_LESS : 设置为 true 如果你想让 SQL Chat 运行时不需要数据库。这个会关闭如下功能:

    1. 账户系统。
    2. 用户额度控制。
    3. 支付。
    4. 使用数据收集。
  • DATABASE_URL : 只有在 NEXT_PUBLIC_DATABASE_LESS 为 true 时有效。Postgres 数据库连接串 e.g. postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat .

docker run --name sqlchat --platform linux/amd64 --env NEXTAUTH_SECRET=xxx --env OPENAI_API_KEY=yyy --env OPENAI_API_ENDPOINT=zzz -p 3000:3000 sqlchat/sqlchat

本地开发环境

  1. 安装依赖项

    
    pnpm i
    
  2. 复制示例环境变量文件;

    
    cp .env.example .env
    
  3. 生成 prisma 客户端

    
    pnpm prisma generate
    
  4. 将您的 API 密钥 OpenAI API 端点(可选)添加到新创建的 .env 文件;

配置数据库

  1. 启动 Postgres 实例。对于 mac,您可以使用 StackbBricks, DBngin 或者 Postgres.app
  2. 创建一个数据库:

    
    CREATE DATABASE sqlchat;
    

    .env 文件中, 将连接字符串分配给环境变量 DATABASE_URL DATABASE_DIRECT_URL 。至于需要两个 URL 的原因见此.

  3. 设置数据库 schema

pnpm prisma migrate dev
  1. 初始化数据(可选)

pnpm prisma db seed
GPT+SQL 开发=SQLGPT

https://guoshuaifu.cn/archives/sqlgpt.html

作者

Disheng

发布时间

2023年10月17日

许可协议

CC BY 4.0

添加新评论