Skip to content

sql-agi/DB-GPT

Repository files navigation

DB-GPT:通过自然语言管理数据库,替代传统企业的web管理后台界面

stars forks License: MIT Release Notes Open Issues

👋 加入我们的 WeChat

Introduction

🤖 DB-GPT是一个开源的数据应用程序开发框架,旨在利用大型语言模型(LLM)技术通过自然语言与数据库进行交互,取代了传统的web管理后端。

🌐 目前我们只开放了查询权限,为了满足更复杂的业务需求,包括创建、读取、更新和删除(CRUD)功能,我们目前正在进行内部测试,并期待着在未来能给大家带来更多的惊喜。

🚀 在Data 3.0时代,我们的产品致力于利用模型和数据库技术,使企业和开发人员能够用更少的代码构建自定义应用程序。让开发人员更专注于复杂的C端业务从而取代传统的web管理后台系统。

快速上手

找一个项目存储的目录,将项目克隆下来,克隆命令如下:

git clone https://github.com/sql-agi/DB-GPT

Docker deploy

首先,配置.env文件,可以参考 templates.env_temple;

只需要配置OPENAI_API_KEY、OPENAI_API_BASE这两个属性即可(建议使用官方的API_KEY);

然后切换到docker目录下,参考docker目录下的README.md,切换命令如下:

cd DB-GPT/docker

最后执行README.md的命令即可;

注意:如果你需要自定义数据库表结构和表数据,只需要更改根目录下/docker/sql/init.sql 文件即可。

Web & CLi

首先将用conda创建新环境并将环境切换到db-gpt,命令如下:

conda create --name db-gpt python=3.9
conda activate db-gpt
pip install -r requirements.txt

配置.env文件,可以参考 templates.env_temple

主要配置包括这几个属性:OPENAI_API_KEY、OPENAI_API_BASE、MYSQL_HOST、MYSQL_PORT、MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE

🔥🔥🔥强烈建议大家用官方的API_KEY 经过测试有些中转的key支持的效果并不好

web demo

我们提供了一种基于 [Gradio]( https://gradio.app )网络版演示和命令行演示如下:

web-demo

然后在存储库中运行[web_demo.py]:

python web_demo.py

程序会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。最新版 Demo 实现了打字机效果,速度体验大大提升。注意,由于国内 Gradio 的网络访问较为缓慢,启用 demo.queue().launch(share=True, inbrowser=True) 时所有网络会经过 Gradio 服务器转发,导致打字机体验大幅下降,现在默认启动方式已经改为 share=False,如有需要公网访问的需求,可以重新修改为 share=True 启动。

cli demo

cli-demo

cli-demo

在存储库中运行[cli_demo.py](cli_demo.py):

python cli_demo.py

该程序将在命令行上进行交互式对话。输入指令并按命令行上的Enter键生成回复,然后输入“quit”终止程序。

API Deploy

Run api.py: in the repository:

python api.py

默认情况下在端口8000上本地部署,通过POST方法调用

curl -X POST "http://127.0.0.1:8000/chat/db" \
     -H "Content-Type: application/json" \
     -d '{"input": "你好"}'

得到的返回值为

{
    "reply": "你好!请问有什么可以帮助您的?"
}

未来计划

🔥🔥🔥 前端:我们致力于开发更优秀的前端UI界面,进一步支持更多类型的数据库以及LLM(其中包含开源大模型),以提升用户体验和系统灵活性。

🔥🔥🔥 后端:我们将进一步深度测试更复杂的CRUD场景,增加区分(切换)环境、设置角色权限等功能从而保证LLM操作的准确性和稳定性。

🔥🔥🔥 总结:希望更多的用户体验并提供反馈,我们会根据用户的反馈进一步优化我们的产品,并希望感兴趣的小伙伴加入我们的开源团队。

联系我们

项目交流群

二维码

🎉 Chat_DB 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。

公众号

二维码

🎉 Chat_DB 项目官方公众号,欢迎扫码关注。

🤗 Reference project

https://github.com/langchain-ai/langchain