|  | --- | 
					
						
						|  | base_model: unsloth/Qwen2.5-Coder-7B-Instruct-bnb-4bit | 
					
						
						|  | library_name: transformers | 
					
						
						|  | model_name: onekq-ai/OneSQL-v0.1-Qwen-7B | 
					
						
						|  | tags: | 
					
						
						|  | - generated_from_trainer | 
					
						
						|  | - unsloth | 
					
						
						|  | - trl | 
					
						
						|  | - sft | 
					
						
						|  | licence: apache-2.0 | 
					
						
						|  | pipeline_tag: text-generation | 
					
						
						|  | --- | 
					
						
						|  |  | 
					
						
						|  | # Introduction | 
					
						
						|  |  | 
					
						
						|  | This model specializes on the Text-to-SQL task. It is finetuned from the quantized version of [Qwen2.5-Coder-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct). | 
					
						
						|  | Its sibling [32B model](https://huggingface.co/onekq-ai/OneSQL-v0.1-Qwen-32B) has an EX score of **63.33** and R-VES score of **60.02** on the [BIRD leaderboard](https://bird-bench.github.io/). | 
					
						
						|  | The self-evaluation EX score of this model is **56.19**. | 
					
						
						|  |  | 
					
						
						|  | # Quick start | 
					
						
						|  |  | 
					
						
						|  | To use this model, craft your prompt to start with your database schema in the form of **CREATE TABLE**, followed by your natural language query preceded by **--**. | 
					
						
						|  | Make sure your prompt ends with **SELECT** in order for the model to finish the query for you. | 
					
						
						|  |  | 
					
						
						|  | ```python | 
					
						
						|  | from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline | 
					
						
						|  | from peft import PeftModel | 
					
						
						|  |  | 
					
						
						|  | model_name = "unsloth/Qwen2.5-Coder-7B-Instruct-bnb-4bit" | 
					
						
						|  | adapter_name = "onekq-ai/OneSQL-v0.1-Qwen-7B" | 
					
						
						|  | tokenizer = AutoTokenizer.from_pretrained(model_name) | 
					
						
						|  | tokenizer.padding_side = "left" | 
					
						
						|  | model = PeftModel.from_pretrained(AutoModelForCausalLM.from_pretrained(model_name, device_map="auto"), adapter_name).to("cuda") | 
					
						
						|  |  | 
					
						
						|  | generator = pipeline("text-generation", model=model, tokenizer=tokenizer, return_full_text=False) | 
					
						
						|  |  | 
					
						
						|  | prompt = """ | 
					
						
						|  | CREATE TABLE students ( | 
					
						
						|  | id INTEGER PRIMARY KEY, | 
					
						
						|  | name TEXT, | 
					
						
						|  | age INTEGER, | 
					
						
						|  | grade TEXT | 
					
						
						|  | ); | 
					
						
						|  |  | 
					
						
						|  | -- Find the three youngest students | 
					
						
						|  | SELECT """ | 
					
						
						|  |  | 
					
						
						|  | result = generator(f"<|im_start|>system\nYou are a SQL expert. Return code only.<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant\n")[0] | 
					
						
						|  | print(result["generated_text"]) | 
					
						
						|  | ``` | 
					
						
						|  |  | 
					
						
						|  | The model response is the finished SQL query without **SELECT** | 
					
						
						|  | ```sql | 
					
						
						|  | * FROM students ORDER BY age ASC LIMIT 3 | 
					
						
						|  | ``` |