Views
No views yet
| Model | Download Latest |
|---|---|
| XiYanSQL-QwenCoder-3B | 🤗HuggingFace 🤖Modelscope |
| XiYanSQL-QwenCoder-7B | 🤗HuggingFace 🤖Modelscope |
| XiYanSQL-QwenCoder-14B | 🤗HuggingFace 🤖Modelscope |
| XiYanSQL-QwenCoder-32B | 🤗HuggingFace 🤖Modelscope |
| Model name | Size | 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 | UNK | 58.47% | 54.82% | 82.89% | 78.45% | 46.79% | 57.77% |
| GPT-4.1-0414 | UNK | 59.39% | 54.11% | 84.45% | 79.86% | 54.29% | 63.18% |
| Claude3.5-sonnet-1022 | UNK | 53.32% | 50.46% | 76.27% | 73.04% | 55.22% | 52.84% |
| Claude3.7-sonnet | UNK | 54.82% | 49.22% | 78.04% | 74.66% | 53.23% | 54.61% |
| Gemini-1.5-Pro | UNK | 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% |
| XiYanSQL-QwenCoder-3B-2502 | 3B | 53.52% | 52.54% | 83.34% | 79.10% | 34.75% | 35.62% |
| XiYanSQL-QwenCoder-3B-2504 | 3B | 55.08% | 52.09% | 84.10% | 80.57% | 36.65% | 37.63% |
| XiYanSQL-QwenCoder-7B-2502 | 7B | 59.65% | 56.32% | 84.15% | 80.01% | 39.38% | 42.10% |
| XiYanSQL-QwenCoder-7B-2504 | 7B | 62.13% | 57.43% | 85.97% | 82.48% | 42.08% | 44.67% |
| XiYanSQL-QwenCoder-14B-2502 | 14B | 63.23% | 60.10% | 85.31% | 82.84% | 38.51% | 41.62% |
| XiYanSQL-QwenCoder-14B-2504 | 14B | 65.32% | 60.17% | 86.82% | 83.75% | 40.52% | 44.60% |
| XiYanSQL-QwenCoder-32B-2412 | 32B | 67.07% | 63.04% | 88.39% | 85.46% | 45.07% | 52.84% |
| XiYanSQL-QwenCoder-32B-2504 | 32B | 67.14% | 62.26% | 89.20% | 86.17% | 53.52% | 57.74% |
1nl2sqlite_template_cn = """你是一名{dialect}专家,现在需要阅读并理解下面的【数据库schema】描述,以及可能用到的【参考信息】,并运用{dialect}知识生成sql语句回答【用户问题】。
2【用户问题】
3{question}
4
5【数据库schema】
6{db_schema}
7
8【参考信息】
9{evidence}
10
11【用户问题】
12{question}
13
14```sql"""1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_name = "XGenerationLab/XiYanSQL-QwenCoder-32B-2504"
5model = AutoModelForCausalLM.from_pretrained(
6 model_name,
7 torch_dtype=torch.bfloat16,
8 device_map="auto"
9)
10
11tokenizer = AutoTokenizer.from_pretrained(model_name)
12
13## dialects -> ['SQLite', 'PostgreSQL', 'MySQL']
14prompt = nl2sqlite_template_cn.format(dialect="", db_schema="", question="", evidence="")
15message = [{'role': 'user', 'content': prompt}]
16
17text = tokenizer.apply_chat_template(
18 message,
19 tokenize=False,
20 add_generation_prompt=True
21)
22model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
23
24generated_ids = model.generate(
25 **model_inputs,
26 pad_token_id=tokenizer.pad_token_id,
27 eos_token_id=tokenizer.eos_token_id,
28 max_new_tokens=1024,
29 temperature=0.1,
30 top_p=0.8,
31 do_sample=True,
32)
33generated_ids = [
34 output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
35]
36response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]1from vllm import LLM, SamplingParams
2from transformers import AutoTokenizer
3model_path = "XGenerationLab/XiYanSQL-QwenCoder-32B-2504"
4llm = LLM(model=model_path, tensor_parallel_size=8)
5tokenizer = AutoTokenizer.from_pretrained(model_path)
6sampling_params = SamplingParams(
7 n=1,
8 temperature=0.1,
9 max_tokens=1024
10)
11
12## dialects -> ['SQLite', 'PostgreSQL', 'MySQL']
13prompt = nl2sqlite_template_cn.format(dialect="", db_schema="", question="", evidence="")
14message = [{'role': 'user', 'content': prompt}]
15text = tokenizer.apply_chat_template(
16 message,
17 tokenize=False,
18 add_generation_prompt=True
19)
20outputs = llm.generate([text], sampling_params=sampling_params)
21response = outputs[0].outputs[0].text1@article{XiYanSQL,
2 title={XiYan-SQL: A Novel Multi-Generator Framework For Text-to-SQL},
3 author={Yifu Liu and Yin Zhu and Yingqi Gao and Zhiling Luo and Xiaoxia Li and Xiaorong Shi and Yuntao Hong and Jinyang Gao and Yu Li and Bolin Ding and Jingren Zhou},
4 year={2025},
5 eprint={2507.04701},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL},
8 url={https://arxiv.org/abs/2507.04701},
9}