DB-GPT-Hub

DB-GPT-Hub

通过大型语言模型(LLMs)实现复杂的Text-to-SQL解析

DB-GPT-Hub是一个开源实验项目,通过大型语言模型(LLMs)实现复杂的Text-to-SQL解析。该项目包括全流程处理从数据集成到模型优化,截至2023年10月,已对大型开源模型进行优化,显著提升SQL查询的执行准确率。

DB-GPT-HubText-to-SQLLLMs性能调优数据集Github开源项目

DB-GPT-Hub 项目介绍

DB-GPT-Hub 是一个实验性项目,旨在利用大型语言模型(LLMs)实现从文本到 SQL 的解析。该项目包括多个阶段,如数据收集、数据预处理、模型选择和构建,以及模型权重的微调。通过这些流程,我们的目标是提升 Text-to-SQL 的能力,同时降低模型训练成本,使更多开发者能够参与提高 Text-to-SQL 的准确率。最终目标是实现基于数据库的自动问答功能,让用户能够通过自然语言描述来执行复杂的数据库查询。

最新动态

  • 支持 Text2NLU 的微调,以提高语义理解准确性。
  • 支持 Text2GQL 的微调以生成图形查询。

截至 2023 年 10 月 10 日,我们已成功地利用该项目微调了开放源代码的 13B 大小模型,并整合了更多相关数据。在零样本提示下,利用基于 Spider 的测试套件,针对 1.27G 大小数据库的执行准确率达到 0.764。对于 Spider 官网 指定的 95M 大小数据库,执行准确率为 0.825。

细化 Text-to-SQL

我们通过对大型语言模型应用监督式微调 (SFT) 来增强 Text-to-SQL 的性能。

数据集

项目使用的主要数据集是 Spider 数据集,这是一个复杂的跨领域 text2sql 数据集,包括 10,181 条自然语言查询和分布在 200 个独立数据库中的 5,693 条 SQL,涵盖 138 个不同的领域。

除此之外,还有其他可用的 text2sql 数据集,例如:

  • WikiSQL:一个由 80,654 条自然语句表达和 24,241 个表的 SQL 注释组成的大型语义解析数据集。
  • CHASE:包含中文跨领域多轮互动的 text2sql 数据集。
  • BIRD-SQLCoSQL:以及其他丰富的数据集。

模型

DB-GPT-Hub 当前支持以下基础模型:

  • CodeLlama
  • Baichuan2
  • LLaMa/LLaMa2
  • Falcon
  • Qwen
  • XVERSE
  • ChatGLM2
  • ChatGLM3
  • internlm
  • sqlcoder-7b(mistral)
  • sqlcoder2-15b(starcoder)

这些模型基于量化学习(QLoRA)进行微调,最低硬件要求如下:

  • 7B 参数:6GB GPU RAM、3.6GB CPU RAM、36.4GB 磁盘空间。
  • 13B 参数:13.4GB GPU RAM、5.9GB CPU RAM、60.2GB 磁盘空间。

使用说明

环境准备

通过以下命令克隆和设置项目环境:

git clone https://github.com/eosphoros-ai/DB-GPT-Hub.git cd DB-GPT-Hub conda create -n dbgpt_hub python=3.10 conda activate dbgpt_hub cd src/dbgpt_hub_sql pip install -e .

快速开始

首先,通过以下命令安装 dbgpt-hub

pip install dbgpt-hub

然后,配置参数并运行完整流程,包括数据预处理、模型训练、预测和评估。

数据预处理

通过以下命令处理 Spider 数据集:

sh dbgpt_hub_sql/scripts/gen_train_eval_data.sh

模型微调

可以通过 LoRA 和 QLoRA 方法进行模型微调:

sh dbgpt_hub_sql/scripts/train_sft.sh

模型预测

在 ./dbgpt_hub_sql/output/pred/ 目录下,运行预测脚本:

sh ./dbgpt_hub_sql/scripts/predict_sft.sh

模型权重

合并已经训练的基础模型和微调后的 Peft 模块权重:

sh ./dbgpt_hub_sql/scripts/export_merge.sh

模型评估

通过以下命令评估模型在数据库上的性能:

python dbgpt_hub_sql/eval/evaluation.py --plug_value --input Your_model_pred_file

未来计划

  • 阶段一:建立框架,完成端到端的流程。
  • 阶段二:优化模型性能和提示,开放更多优化过的模型。
  • 阶段三:提高推理速度,优化特定业务场景,结合论文进一步优化。

如何参与

我们热情欢迎更多人参与到我们的项目中,包括数据集、模型微调、性能评估、论文推荐和代码复现。请随时提交 issue 或 PR,我们将积极响应。

鸣谢

感谢以下开源项目的基础支持,如 Spider、CoSQL、Chase、BIRD-SQL 等。

联系方式

若对我们的社区工作有任何想法,或有兴趣深入实验和优化 DB-GPT-Hub 子项目,可以通过项目中的联系方式与我们交流。我们热切期待您的加入!

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多