Views
No views yet
| Model | Exact Match |
|---|---|
| Phi-3-mini-4k-instruct (base) | 2.0% |
| This model (fine-tuned) | 73.5% |
Exact match: normalized SQL comparison (lowercase, strip whitespace/semicolons).
| Repo | Purpose |
|---|---|
Shizu0n/phi3-mini-sql-generator | QLoRA adapter — documents the training pipeline |
Shizu0n/phi3-mini-sql-generator-merged | Merged standalone — used for deployment and inference |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_id = "Shizu0n/phi3-mini-sql-generator-merged"
5
6tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
7model = AutoModelForCausalLM.from_pretrained(
8 model_id,
9 torch_dtype=torch.float16,
10 device_map="auto",
11 trust_remote_code=False,
12 attn_implementation="eager",
13)
14model.eval()
15
16prompt = (
17 "Given the following SQL table, write a SQL query.\n\n"
18 "Table: employees (id, name, department, salary)\n\n"
19 "Question: What is the average salary per department?\n\nSQL:"
20)
21
22inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
23with torch.inference_mode():
24 outputs = model.generate(
25 **inputs,
26 max_new_tokens=80,
27 do_sample=False,
28 use_cache=False,
29 repetition_penalty=1.1,
30 pad_token_id=tokenizer.eos_token_id,
31 )
32prompt_len = inputs["input_ids"].shape[-1]
33print(tokenizer.decode(outputs[0][prompt_len:], skip_special_tokens=True))SELECT AVG(salary), department FROM employees GROUP BY departmentmerge_and_unload() + save_pretrained()force_download=True