🚀 文本转SQL翻译模型 - Millennials 介绍
我们的文本转SQL翻译模型专为文本转SQL任务进行了微调,旨在革新系统理解自然语言指令并将其转换为SQL查询的方式。该模型基于CodeLLaMa 13B构建,并使用精心挑选的包含100k条SQL查询生成指令的数据集进行了细致的微调,确保了质量和精度。
🚀 快速开始
现在你的模型已经完成微调,可以开始生成响应了。你可以轻松地从自然语言指令生成SQL查询。为此,你将使用我们的generate.py
脚本,该脚本支持快速推理,并且可以直接从Hugging Face模型中心获取模型。
以下是使用该脚本的快速指南:
该脚本使用来自Hugging Face模型中心的预训练模型进行推理,并打印生成的SQL查询。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("budecosystem/sql-millennials-13b")
model = AutoModelForCausalLM.from_pretrained("budecosystem/sql-millennials-13b")
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]))
✨ 主要特性
- 专注于将自然语言文本转换为SQL查询。
- 在包含100k条SQL查询生成指令的多样化数据集上进行了微调。
- 易于集成和使用,可即时生成SQL查询。
💻 使用示例
基础用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("budecosystem/sql-millennials-13b")
model = AutoModelForCausalLM.from_pretrained("budecosystem/sql-millennials-13b")
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]))
高级用法
目前文档未提及高级用法相关内容,若有需要可进一步补充。
🔧 技术细节
训练详情
该模型在4块A100 80GB GPU上训练了约55小时。
属性 |
详情 |
每设备训练批次大小 |
4 |
梯度累积步数 |
1 |
训练轮数 |
3 |
训练步数 |
19206 |
学习率 |
2e - 5 |
学习率调度器类型 |
cosine |
热身步数 |
2000 |
优化器 |
adamw |
是否使用混合精度训练(fp16) |
True |
训练使用的GPU |
4块A100 80GB |
📚 详细文档
为何选择 Millennials 模型
1. 企业自动化数据库管理
场景:中小型企业(SMEs)通常缺乏专门的IT团队来处理数据库查询,这使得快速检索特定数据以进行分析和决策变得具有挑战性。
用例:可以将我们的文本转SQL模型集成到公司的内部系统中,让没有技术SQL知识的员工也能检索数据。他们可以输入自然语言请求,例如“获取上一季度所有超过10,000美元的交易列表”,系统将在模型的支持下将此请求转换为相应的SQL查询以检索数据。
2. 自动化数据分析流程
场景:数据分析师和业务专业人员在生成洞察时,由于SQL查询制定的复杂性,尤其是在需要即时或重复的数据检索和分析时,常常会遇到瓶颈。
用例:在此场景中,我们的文本转SQL模型可作为变革性的中介。通过将模型集成到他们的数据分析系统中,组织可以让专业人员以自然语言输入数据请求。例如,分析师可以输入“显示过去五年在线销售增长的趋势”,系统将立即将此请求转换为SQL查询,检索数据,并将其集成到可视化工具中以立即生成洞察。此功能不仅加速了分析过程,还使不同组织部门的人员都能利用实时数据分析的力量,即使是非技术人员也无需深入了解SQL。
3. 增强内容管理系统(CMS)界面
场景:对于非技术内容管理人员来说,内容管理系统(CMS)在进行复杂的数据检索或数据库管理时通常不够直观。
用例:CMS提供商可以利用我们的模型来增强其系统的后端界面。内容管理人员可以使用自然语言请求特定数据,例如“查找2023年5月所有浏览量超过500的博客文章”,模型将生成相应的SQL查询以检索信息。此功能使数据库管理更加便捷、高效且用户友好。
4. 优化客户支持
场景:客户支持中心在解决工单或查询时,通常需要从数据库中检索客户或产品信息,这需要基本的SQL知识。
用例:可以将我们的模型集成到支持票务系统中,使支持人员能够以自然语言输入请求,例如“显示本月来自纽约客户的所有未解决工单”,并立即获得解决问题所需的数据,从而提高客户服务效率和响应时间。
5. 数据新闻和研究
场景:记者和研究人员经常依赖复杂的数据库来收集工作所需的洞察和数据点,但可能缺乏SQL技术知识。
用例:通过将我们的文本转SQL模型集成到研究软件或新闻工具中,专业人员可以使用自然语言查询数据库。例如,记者可以输入“检索2022年德克萨斯州的平均家庭收入”,模型将帮助他们立即获取这些数据,从而实现更高效的研究和数据驱动的故事讲述。
贡献
我们欢迎大家贡献代码以帮助改进模型或解决问题。请随时提交拉取请求或提出问题以讨论更改或改进。
致谢
我们要感谢开源社区以及为该模型奠定基础的研究人员。
📄 许可证
本模型使用 llama2 许可证。