一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL) 原创

发布于 2024-10-14 18:48
浏览
0收藏

一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

Text2SQL

Text2SQL技术,即将自然语言查询转换为结构化查询语言(SQL)的技术,正在迅速成为数据库查询的一个关键工具。它使得非技术用户能够通过自然语言数据库进行交互,极大地提高了数据库操作的便捷性和效率。

接下来分两部分:主流数据集、主流实战方法(SQLCoder + DB-GPT-Hub),一起来深入了解大模型实战:Text2SQL。


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

Text2SQL

一、主流数据集

什么是Text2SQL数据集?Text2SQL数据集是指一类专门用于训练Text2SQL(文本到SQL)模型的数据集合。

Text2SQL数据集通常包含大量的自然语言查询(如问题或指令)和对应的SQL查询语句。这些对构成了模型学习的基础,使模型能够学会将自然语言查询转换为SQL查询。


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

Text2SQL数据集有哪些?Spider、WikiSQL和CHASE等主流Text2SQL数据集提供自然语言查询与SQL查询对应数据,训练和评估模型将自然语言转换为SQL查询的能力。

  1. Spider:这是一个跨域的复杂Text2SQL数据集,包含了大量的自然语言问句和对应的SQL查询语句。它旨在测试模型在复杂的、未见过的SQL查询上的性能以及其在新领域的泛化能力。
  2. WikiSQL:这是一个大型的语义解析数据集,由大量的自然语句表述和对应的SQL标注构成。它主要用于训练模型学习如何将简单的自然语言查询转换为SQL查询。
  3. CHASE:一个跨领域多轮交互Text2SQL中文数据集,包含多个多轮问题组成的列表,以及大量的<query, SQL>二元组,涉及不同领域的数据库。


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

二、主流实战方法

基于大语言模型的Text2SQL主流实战方法是什么?主要包括两种:(1)基于Text2SQL模型结合业务进行微调;(2)基于开箱即用的Text2SQL Agent结合业务整合到应用


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

1、基于SQLCoder模型,结合业务进行微调

一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区


第一步:微调前准备(下载模型和数据集)

  • 下载模型:llama3-sqlcoder-8b一种适用于 PostgreSQL、 Snowflake(基于云的数据仓库平台) 的文本到 SQL 生成的强大的语言模型,可与最强大的通用前沿模型相媲美。


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

  • 下载数据集:WikiSQL是一个基于维基百科的语义解析数据集,主要用于自然语言查询到SQL查询的转换任务。它包含了超过8万个(问题,SQL)对,即80,645条自然语言问句及相应的SQL语句,以及24,241张表


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区


第二步:模型微调(收集业务数据、选择微调策略、训练模型、评估模型)

  • 微调数据集:根据业务需求和数据库架构,收集相关的自然语言查询和对应的SQL语句作为训练数据。
  • 选择微调策略:根据业务需求和数据集的特点,选择合适的微调策略,如基于特定数据库模式的微调、针对复杂查询的微调等。
  • 训练模型:使用微调数据集对SQLCoder模型进行训练,调整模型的参数以优化其在特定业务场景下的性能。
  • 评估模型:在训练过程中,定期评估模型的性能,如准确率、召回率等,以确保微调的有效性。​


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

第三步:模型部署与推理


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

  • Enter special instructions(输入特殊说明):明确特殊说明的内容,这可能涉及对某项任务的具体要求、注意事项、优先级调整或其他任何有助于任务执行或结果理解的额外信息。例如:异常处理
  • Enter the database schema(输入数据库模式):数据库模式(也称为数据库结构或数据库架构)定义了数据库中表、列、关系和其他数据库对象的组织方式


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

2、基于开箱即用的DB-GPT-Hub,结合业务整合到应用

DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。

目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。


一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

DB-GPT-Hub是一个利用LLMs实现Text-to-SQL解析的实验项目,主要包含数据集收集、数据预处理、模型选择与构建和微调权重等步骤,通过这一系列的处理可以在提高Text-to-SQL能力的同时降低模型训练成本,让更多的开发者参与到Text-to-SQL的准确度提升工作当中,最终实现基于数据库的自动问答能力,让用户可以通过自然语言描述完成复杂数据库的查询操作等工作。

一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区

目前DB-GPT-Hub已经基于多个大模型打通从数据处理、模型SFT训练、预测输出和评估的整个流程,代码在项目中均可以直接复用-- 开箱即用,架构师带你玩转AI

一文彻底搞懂大模型实战 - 文本到SQL(Text2SQL)-AI.x社区



本文转载自公众号架构师带你玩转AI 作者:AllenTang

原文链接:​​https://mp.weixin.qq.com/s/aNfyEeunPuAUxS03YOed7g​​​

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-10-14 18:48:50修改
收藏
回复
举报
回复
相关推荐