这个五一劳动节,我一边带娃一边编码,基于 Fastchat 跟 vicuna 原始模型搞了个 Demo,并且外挂了OceanBase( https://github.com/oceanbase/oceanbase )的知识库,发现效果确实不错,计划持续写下去,于是有了这个与数据库相关的 GPT。
有趣的东西,值得分享给更多朋友,一起来玩~
一、项目介绍:DB-GPT
一个数据库相关的 GPT 实验项目,模型与数据全部本地化部署,绝对保障数据的隐私安全。同时这个 GPT 项目可以直接本地部署连接到私有数据库,进行私有数据处理。
DB-GPT 是一个实验性的开源应用程序,它基于 FastChat,并使用 vicuna-13b 作为基础模型。此外,此程序结合了 langchain 和 llama-index 基于现有知识库进行 In-Context Learning 来对其进行数据库相关知识的增强。它可以进行 SQL 生成、SQL 诊断、数据库知识问答等一系列的工作。
二、运行效果演示
Run on an RTX 4090 GPU
The origin mov not sped up! 演示观看地址:https://www.youtube.com/watch?v=1PWI6F89LPo
1、运行演示
2. SQL 生成示例
首先选择对应的数据库,然后模型即可根据对应的数据库 Schema 信息生成 SQL。
The Generated SQL is runable.
3. 数据库 QA 示例
基于默认内置知识库 QA
三、Dependencies
1. 首先你需要安装 Python
python>=3.9
pip install -r requirements.txt
或者如果你使用 conda 环境,你可以使用这个命令:
cd DB-GPT
conda env create -f environment.yml
2. MySQL 安装
在这个项目示例中,我们连接 MySQL 并运行 SQL-Generate,所以你需要在本地安装 MySQL 进行测试,推荐使用 Docker。
docker run --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=aa123456 -dit mysql:latest
密码只是为了测试,如果需要你可以改变。
四、安装
第一步,下载基础模型。你可以根据 vicuna 合成教程进行合成。如果此步有困难的同学,也可以直接使用 Hugging Face上的模型进行替代。
vicuna 合成教程👇
https://github.com/lm-sys/FastChat/blob/main/README.md#model-weights
Hugging Face 替代模型👇
https://huggingface.co/Tribbiani/vicuna-7b
第二步,Run model server:
cd pilot/server
python vicuna_server.py
第三步, Run gradio webui
python webserver.py
五、Featurs
- SQL-Generate
- Database-QA Based Knowledge
- SQL-diagnosis
总的来说,它是一个用于数据库的复杂且创新的AI工具。如果大家对如何在工作中使用或实施 DB-GPT 有任何具体问题,可以进入项目地址 https://github.com/csunny/DB-GPT ,和我联系。同时,欢迎感兴趣的朋友参与项目建设,一起做些有趣的事情。希望小小的项目,有一天能发挥大大的价值。