Xiyansql QwenCoder 32B 2504
XiYanSQL-QwenCoder-2504是最新的SQL生成模型,结合微调和GRPO训练,支持多种方言,具有高效和准确的SQL生成能力。
下载量 589
发布时间 : 4/27/2025
模型简介
该模型在SQL生成任务上表现出色,支持多种数据库方言,并在领域外数据集上具有良好的泛化能力。
模型特点
多方言支持
支持多种数据库方言,开箱即用。
高效准确
结合微调和GRPO训练,实现SQL生成的高效和准确。
强泛化能力
在不同方言和领域外数据集上表现出色。
模型能力
SQL生成
多语言支持
复杂查询处理
使用案例
数据库查询
复杂SQL生成
根据自然语言描述生成复杂的SQL查询语句。
在真实世界的SQL基准测试中表现优异。
数据分析
数据仓库查询
生成适用于数据仓库的复杂查询。
在DW测试集上表现良好。
🚀 析言SQL-QwenCoder-2504
析言SQL-QwenCoder-2504是最新的SQL生成模型,在之前版本基础上持续优化,性能进一步提升。它结合微调与GRPO训练,在SQL生成上兼具效率与准确性,支持多方言,开箱即用,泛化能力强。
🔗 重要链接
📖Github | 🤖ModelScope | 🌐析言SQL | 🌕析言GBI | 💻Modelscope Space
🚀 快速开始
以下是快速使用 析言SQL-QwenCoder 模型的简单代码片段。我们提供了中文版本的提示词,你只需替换 "question"、"db_schema" 和 "evidence" 的占位符即可开始使用。我们推荐使用 M-Schema 格式的模式;其他格式(如 DDL)也可以接受,但可能会影响性能。目前,我们主要支持 SQLite、PostgreSQL 和 MySQL 等主流方言。
📋 环境要求
- transformers >= 4.37.0
- vllm >= 0.7.2
💬 提示词模板
nl2sqlite_template_cn = """你是一名{dialect}专家,现在需要阅读并理解下面的【数据库schema】描述,以及可能用到的【参考信息】,并运用{dialect}知识生成sql语句回答【用户问题】。
【用户问题】
{question}
【数据库schema】
{db_schema}
【参考信息】
{evidence}
【用户问题】
{question}
```sql"""
🤖 使用 Transformers 进行推理
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "XGenerationLab/XiYanSQL-QwenCoder-32B-2504"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
## dialects -> ['SQLite', 'PostgreSQL', 'MySQL']
prompt = nl2sqlite_template_cn.format(dialect="", db_schema="", question="", evidence="")
message = [{'role': 'user', 'content': prompt}]
text = tokenizer.apply_chat_template(
message,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=1024,
temperature=0.1,
top_p=0.8,
do_sample=True,
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
🚀 使用 vLLM 进行推理
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_path = "XGenerationLab/XiYanSQL-QwenCoder-32B-2504"
llm = LLM(model=model_path, tensor_parallel_size=8)
tokenizer = AutoTokenizer.from_pretrained(model_path)
sampling_params = SamplingParams(
n=1,
temperature=0.1,
max_tokens=1024
)
## dialects -> ['SQLite', 'PostgreSQL', 'MySQL']
prompt = nl2sqlite_template_cn.format(dialect="", db_schema="", question="", evidence="")
message = [{'role': 'user', 'content': prompt}]
text = tokenizer.apply_chat_template(
message,
tokenize=False,
add_generation_prompt=True
)
outputs = llm.generate([text], sampling_params=sampling_params)
response = outputs[0].outputs[0].text
✨ 主要特性
- 训练策略优化:模型结合了 微调与 GRPO 训练 的重要探索,利用无思考过程的 GRPO 后训练策略,在 SQL 生成中实现了效率与准确性的平衡。
- 多方言支持:展示了 出色的性能,支持 多种方言,可直接使用。
- 泛化能力强:改进了泛化能力,在不同方言和 域外数据集 上表现出色。
📦 模型下载
模型 | 下载最新版本 |
---|---|
析言SQL-QwenCoder-3B | 🤗HuggingFace 🤖Modelscope |
析言SQL-QwenCoder-7B | 🤗HuggingFace 🤖Modelscope |
析言SQL-QwenCoder-14B | 🤗HuggingFace 🤖Modelscope |
析言SQL-QwenCoder-32B | 🤗HuggingFace 🤖Modelscope |
📊 性能表现
析言SQL-QwenCoder 模型作为多方言 SQL 基础模型,展示了强大的 SQL 生成能力。以下是发布时的评估结果。我们使用 BIRD 和 Spider 作为 Text-to-SQL 领域的 SQLite 基准测试,以及 PostgreSQL 和 MySQL 方言的 DW 基准测试,对模型在 M-Schema 和原始 DDL 两种模式格式下的性能进行了全面评估。
模型名称 | 大小 | BIRD Dev@M-Schema | BIRD Dev@DDL | Spider Test@M-Schema | Spider Test@DDL | DW PostgreSQL@M-Schema | DW MySQL@M-Schema |
---|---|---|---|---|---|---|---|
GPT-4o-0806 | 未知 | 58.47% | 54.82% | 82.89% | 78.45% | 46.79% | 57.77% |
GPT-4.1-0414 | 未知 | 59.39% | 54.11% | 84.45% | 79.86% | 54.29% | 63.18% |
Claude3.5-sonnet-1022 | 未知 | 53.32% | 50.46% | 76.27% | 73.04% | 55.22% | 52.84% |
Claude3.7-sonnet | 未知 | 54.82% | 49.22% | 78.04% | 74.66% | 53.23% | 54.61% |
Gemini-1.5-Pro | 未知 | 61.34% | 57.89% | 85.11% | 84.00% | 52.78% | 62.78% |
DeepSeek-V2.5-1210 | 236B | 55.74% | 55.61% | 82.08% | 80.57% | 45.74% | 52.18% |
DeepSeek-V3 | 685B | 59.58% | 56.71% | 81.52% | 79.91% | 52.56% | 55.95% |
DeepSeek-R1 | 685B | 58.15% | 55.61% | 80.72% | 78.85% | 60.56% | 62.00% |
DeepSeek-R1-Distill-Qwen-32B | 32B | 50.65% | 48.31% | 78.65% | 77.33% | 37.22% | 44.72% |
Deepseek-Coder-33B-Instruct | 33B | 47.52% | 44.72% | 72.39% | 62.0% | 31.48% | 36.17% |
OmniSQL-32B | 32B | 60.37% | 55.87% | 85.16% | 83.19% | 38.19% | 42.34% |
析言SQL-QwenCoder-3B-2502 | 3B | 53.52% | 52.54% | 83.34% | 79.10% | 34.75% | 35.62% |
析言SQL-QwenCoder-3B-2504 | 3B | 55.08% | 52.09% | 84.10% | 80.57% | 36.65% | 37.63% |
析言SQL-QwenCoder-7B-2502 | 7B | 59.65% | 56.32% | 84.15% | 80.01% | 39.38% | 42.10% |
析言SQL-QwenCoder-7B-2504 | 7B | 62.13% | 57.43% | 85.97% | 82.48% | 42.08% | 44.67% |
析言SQL-QwenCoder-14B-2502 | 14B | 63.23% | 60.10% | 85.31% | 82.84% | 38.51% | 41.62% |
析言SQL-QwenCoder-14B-2504 | 14B | 65.32% | 60.17% | 86.82% | 83.75% | 40.52% | 44.60% |
析言SQL-QwenCoder-32B-2412 | 32B | 67.07% | 63.04% | 88.39% | 85.46% | 45.07% | 52.84% |
析言SQL-QwenCoder-32B-2504 | 32B | 67.14% | 62.26% | 89.20% | 86.17% | 53.52% | 57.74% |
📄 许可证
本项目采用 Apache-2.0 许可证。
🙏 致谢
如果您觉得我们的工作有用,请引用或点赞,让我们为开源社区做出更大的贡献!
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98