Update README.md
Browse files
README.md
CHANGED
|
@@ -62,7 +62,7 @@ transformers >= 4.37.0
|
|
| 62 |
Here is a simple code snippet for quickly using **XiYanSQL-QwenCoder** model. We provide a Chinese version of the prompt, and you just need to replace the placeholders for "question," "db_schema," and "evidence" to get started. We recommend using our [M-Schema](https://github.com/XGenerationLab/M-Schema) format for the schema; other formats such as DDL are also acceptable, but they may affect performance.
|
| 63 |
Currently, we mainly support mainstream dialects like SQLite, PostgreSQL, and MySQL.
|
| 64 |
|
| 65 |
-
```
|
| 66 |
|
| 67 |
nl2sqlite_template_cn = """你是一名{dialect}专家,现在需要阅读并理解下面的【数据库schema】描述,以及可能用到的【参考信息】,并运用{dialect}知识生成sql语句回答【用户问题】。
|
| 68 |
【用户问题】
|
|
@@ -82,7 +82,7 @@ nl2sqlite_template_cn = """你是一名{dialect}专家,现在需要阅读并
|
|
| 82 |
import torch
|
| 83 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 84 |
|
| 85 |
-
model_name = "XGenerationLab/XiYanSQL-QwenCoder-
|
| 86 |
model = AutoModelForCausalLM.from_pretrained(
|
| 87 |
model_name,
|
| 88 |
torch_dtype=torch.bfloat16,
|
|
@@ -118,6 +118,41 @@ response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
|
|
| 118 |
|
| 119 |
```
|
| 120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
|
| 122 |
## Acknowledgments
|
| 123 |
-
If you find our work useful, please give us a citation or a like, so we can make a greater contribution to the open-source community!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
Here is a simple code snippet for quickly using **XiYanSQL-QwenCoder** model. We provide a Chinese version of the prompt, and you just need to replace the placeholders for "question," "db_schema," and "evidence" to get started. We recommend using our [M-Schema](https://github.com/XGenerationLab/M-Schema) format for the schema; other formats such as DDL are also acceptable, but they may affect performance.
|
| 63 |
Currently, we mainly support mainstream dialects like SQLite, PostgreSQL, and MySQL.
|
| 64 |
|
| 65 |
+
```python
|
| 66 |
|
| 67 |
nl2sqlite_template_cn = """你是一名{dialect}专家,现在需要阅读并理解下面的【数据库schema】描述,以及可能用到的【参考信息】,并运用{dialect}知识生成sql语句回答【用户问题】。
|
| 68 |
【用户问题】
|
|
|
|
| 82 |
import torch
|
| 83 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 84 |
|
| 85 |
+
model_name = "XGenerationLab/XiYanSQL-QwenCoder-7B-2502"
|
| 86 |
model = AutoModelForCausalLM.from_pretrained(
|
| 87 |
model_name,
|
| 88 |
torch_dtype=torch.bfloat16,
|
|
|
|
| 118 |
|
| 119 |
```
|
| 120 |
|
| 121 |
+
### Inference with vLLM
|
| 122 |
+
```python
|
| 123 |
+
from vllm import LLM, SamplingParams
|
| 124 |
+
from transformers import AutoTokenizer
|
| 125 |
+
model_path = "XGenerationLab/XiYanSQL-QwenCoder-7B-2502"
|
| 126 |
+
llm = LLM(model=model_path, tensor_parallel_size=8)
|
| 127 |
+
tokenizer = AutoTokenizer.from_pretrained(model_path)
|
| 128 |
+
sampling_params = SamplingParams(
|
| 129 |
+
n=1,
|
| 130 |
+
temperature=0.1,
|
| 131 |
+
max_tokens=1024
|
| 132 |
+
)
|
| 133 |
+
## dialects -> ['SQLite', 'PostgreSQL', 'MySQL']
|
| 134 |
+
prompt = nl2sqlite_template_cn.format(dialect="", db_schema="", question="", evidence="")
|
| 135 |
+
message = [{'role': 'user', 'content': prompt}]
|
| 136 |
+
text = tokenizer.apply_chat_template(
|
| 137 |
+
message,
|
| 138 |
+
tokenize=False,
|
| 139 |
+
add_generation_prompt=True
|
| 140 |
+
)
|
| 141 |
+
outputs = llm.generate([text], sampling_params=sampling_params)
|
| 142 |
+
response = outputs[0].outputs[0].text
|
| 143 |
+
```
|
| 144 |
+
|
| 145 |
|
| 146 |
## Acknowledgments
|
| 147 |
+
If you find our work useful, please give us a citation or a like, so we can make a greater contribution to the open-source community!
|
| 148 |
+
```bibtex
|
| 149 |
+
@article{XiYanSQL,
|
| 150 |
+
title={XiYan-SQL: A Novel Multi-Generator Framework For Text-to-SQL},
|
| 151 |
+
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},
|
| 152 |
+
year={2025},
|
| 153 |
+
eprint={2507.04701},
|
| 154 |
+
archivePrefix={arXiv},
|
| 155 |
+
primaryClass={cs.CL},
|
| 156 |
+
url={https://arxiv.org/abs/2507.04701},
|
| 157 |
+
}
|
| 158 |
+
```
|