🚀 文本转 SQL 翻译模型 - Millennials 介绍
本模型专为文本转 SQL 任务进行了微调,旨在彻底改变系统理解自然语言指令并将其转换为 SQL 查询的方式。该模型基于 Mistral 7B 构建,并使用精心策划的包含 10 万条 SQL 查询生成指令的数据集进行了细致的微调,确保了质量和精度。
✨ 主要特性
- 专注于将自然语言文本转换为 SQL 查询。
- 在包含 10 万条 SQL 查询生成指令的多样化数据集上进行了微调。
- 易于集成和使用,可即时生成 SQL 查询。
🚀 快速开始
现在你的模型已经完成微调,你可以轻松地从自然语言指令生成 SQL 查询。为此,你将使用我们的 generate.py
脚本,该脚本允许快速推理,并可以直接从 Hugging Face 模型中心获取模型。
以下是使用方法的快速指南:
该脚本使用来自 Hugging Face 模型中心的预训练模型进行推理,并打印生成的 SQL 查询。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("budecosystem/sql-millennials-7b")
model = AutoModelForCausalLM.from_pretrained("budecosystem/sql-millennials-7b")
prompt = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.
USER: Create SQL query for the given table schema and question ASSISTANT:"
inputs = tokenizer(prompt, return_tensors="pt")
sample = model.generate(**inputs, max_length=128)
print(tokenizer.decode(sample[0]))
该脚本使用来自 Hugging Face 模型中心的预训练模型进行推理,并打印生成的 SQL 查询。
🔧 技术细节
训练环境
该模型在 4 个 A100 80GB GPU 上训练了约 30 小时。
超参数设置
超参数 |
值 |
per_device_train_batch_size |
4 |
gradient_accumulation_steps |
1 |
epoch |
3 |
steps |
19206 |
learning_rate |
2e - 5 |
lr schedular type |
cosine |
warmup steps |
2000 |
optimizer |
adamw |
fp16 |
True |
GPU |
4 个 A100 80GB |
💡 应用场景
1. 企业自动化数据库管理
场景:中小型企业(SMEs)通常缺乏专门的 IT 团队来处理数据库查询,这使得快速检索特定数据进行分析和决策变得具有挑战性。
用例:可以将文本转 SQL 模型集成到公司的内部系统中,使没有专业 SQL 知识的员工能够检索数据。他们可以输入自然语言请求,例如“获取上一季度所有超过 10000 美元的交易列表”,系统将在该模型的支持下将此请求转换为相应的 SQL 查询以检索数据。
2. 自动化数据分析流程
场景:数据分析师和业务专业人员在生成洞察时,由于 SQL 查询制定的复杂性,尤其是在需要即时或重复的数据检索和分析时,经常会遇到瓶颈。
用例:该文本转 SQL 模型在这种场景中充当变革性的中介。通过将模型集成到他们的数据分析系统中,组织可以让专业人员以自然语言输入数据请求。例如,分析师可以输入“显示过去五年在线销售增长的趋势”,系统将立即将此请求转换为 SQL 查询,检索数据,并将其集成到可视化工具中以立即生成洞察。此功能不仅加速了分析过程,还使不同组织部门的人员都能利用实时数据分析的力量,即使是非技术人员也无需深入了解 SQL 即可使用。
3. 增强内容管理系统(CMS)界面
场景:内容管理系统(CMS)对于非技术内容管理人员来说,在进行复杂的数据检索或数据库管理时通常不太直观。
用例:CMS 提供商可以利用该模型来增强其系统的后端界面。内容管理人员可以使用自然语言请求特定数据,例如“查找 2023 年 5 月浏览量超过 500 的所有博客文章”,模型将生成适当的 SQL 语句来检索信息。此功能使数据库管理更加便捷、高效且用户友好。
4. 优化客户支持
场景:客户支持中心在解决工单或咨询时,通常需要从数据库中检索客户或产品信息,这需要基本的 SQL 知识。
用例:可以将该模型集成到支持票务系统中,使支持人员能够以自然语言输入请求,例如“显示本月来自纽约客户的所有未结工单”,并立即获得解决问题所需的数据,从而提高客户服务效率和响应时间。
5. 数据新闻和研究
场景:记者和研究人员经常依赖复杂的数据库来收集工作所需的洞察和数据点,但可能缺乏 SQL 技术知识。
用例:通过将该文本转 SQL 模型集成到研究软件或新闻工具中,专业人员可以使用自然语言查询数据库。例如,记者可以输入“检索 2022 年德克萨斯州的平均家庭收入”,模型将帮助立即访问此数据,从而实现更高效的研究和数据驱动的故事讲述。
🤝 贡献
我们欢迎大家贡献代码以帮助改进模型或解决问题。请随时提交拉取请求或提出问题,以讨论更改或改进建议。
🙏 致谢
我们要感谢开源社区以及为该模型奠定基础的研究人员。
📄 许可证
本项目采用 Apache - 2.0 许可证。