🚀 Defog SQLCoder
Defog的SQLCoder是一款先进的大语言模型(LLM),能够将自然语言问题转换为SQL查询。它为数据处理和分析提供了便捷的方式,让非专业的SQL用户也能轻松获取所需的数据。
交互式演示 | 🤗 Hugging Face仓库 | ♾️ Colab | 🐦 Twitter
🚀 快速开始
模型性能概述
SQLCoder - 34B是一个拥有340亿参数的模型,在我们的[sql - eval](https://github.com/defog - ai/sql - eval)框架下,对于自然语言到SQL生成任务,它的表现优于gpt - 4
和gpt - 4 - turbo
,并且显著优于所有流行的开源模型。该模型是在基础CodeLlama模型上进行微调得到的。
训练情况
Defog在超过20000个人工筛选的问题上进行了训练,这些问题基于10种不同的模式。训练数据中的模式均未包含在我们的评估框架中。你可以阅读更多关于我们的[训练方法](https://defog.ai/blog/open - sourcing - sqlcoder2 - 7b/)和[评估框架](https://defog.ai/blog/open - sourcing - sqleval/)的内容。
✨ 主要特性
新数据集上的表现
在训练中未见过的新数据集上,各模型的表现如下:
模型 |
正确率 |
defog - sqlcoder - 34b |
84.0 |
gpt4 - turbo - 2023 - 11 - 09 |
82.5 |
gpt4 - 2023 - 11 - 09 |
82.5 |
defog - sqlcoder2 |
77.5 |
gpt4 - 2023 - 08 - 28 |
74.0 |
defog - sqlcoder - 7b |
71.0 |
gpt - 3.5 - 2023 - 10 - 04 |
66.0 |
claude - 2 |
64.5 |
gpt - 3.5 - 2023 - 08 - 28 |
61.0 |
claude_instant_1 |
61.0 |
text - davinci - 003 |
52.5 |

按问题类别划分的结果
我们将每个生成的问题分为5个类别。该表显示了每个模型按类别划分的正确回答问题的百分比。
|
日期 |
分组 |
排序 |
比率 |
连接 |
条件 |
sqlcoder - 34b |
80 |
94.3 |
88.6 |
74.3 |
82.9 |
82.9 |
gpt - 4 |
68 |
94.3 |
85.7 |
77.1 |
85.7 |
80 |
sqlcoder2 - 15b |
76 |
80 |
77.1 |
60 |
77.1 |
77.1 |
sqlcoder - 7b |
64 |
82.9 |
74.3 |
54.3 |
74.3 |
74.3 |
gpt - 3.5 |
68 |
77.1 |
68.6 |
37.1 |
71.4 |
74.3 |
claude - 2 |
52 |
71.4 |
74.3 |
57.1 |
65.7 |
62.9 |
claude - instant |
48 |
71.4 |
74.3 |
45.7 |
62.9 |
60 |
gpt - 3 |
32 |
71.4 |
68.6 |
25.7 |
57.1 |
54.3 |
📦 安装指南
此部分文档未提及具体安装步骤,故跳过。
💻 使用示例
基础用法
你可以通过transformers
库使用SQLCoder,从Hugging Face仓库下载我们的模型权重。我们已经提供了在示例数据库模式上进行推理的示例代码。
python inference.py -q "Question about the sample database goes here"
其他使用方式
你也可以在我们的网站上使用演示:[点击此处](https://defog.ai/sqlcoder - demo)
📚 详细文档
此部分文档未提及详细说明内容,故跳过。
🔧 技术细节
此部分文档未提供具体的技术实现细节(>50字),故跳过。
📄 许可证
本仓库中的代码(虽然数量不多)采用Apache - 2许可证。模型权重采用CC BY - SA 4.0
许可证。简而言之,你可以出于任何目的使用和修改该模型,包括商业用途。但是,如果你修改了权重(例如,通过微调),则必须在相同的许可条款下开源你修改后的权重。
📋 待办事项
- [x] 开源v1模型权重
- [x] 在更多数据上训练模型,提高数据的多样性
- [ ] 通过奖励建模和基于人类反馈的强化学习(RLHF)进一步调整模型
- [ ] 从头开始预训练一个专门用于SQL分析的模型