This model is the MLX version of
OneSQL-v0.1-Qwen-3B. It is made for Apple Silicon.
The self-evaluation EX score of the original model is
43.35 (compared to
63.33 by the 32B model on the
BIRD leaderboard.
The self-evaluation EX score of this MLX model is
38.20.
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. There is no need to set other parameters like temperature or max token limit.
1from mlx_lm import load, generate
2
3model, tokenizer = load(model="onekq-ai/OneSQL-v0.1-Qwen-3B-MLX-4bit")
4
5prompt="""CREATE TABLE students (
6 id INTEGER PRIMARY KEY,
7 name TEXT,
8 age INTEGER,
9 grade TEXT
10);
11
12-- Find the three youngest students
13SELECT """
14
15response = generate(model, tokenizer, 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")
16print(response)
Speed benchmark of this model is obtained on a MacBook Air with M1 processor and 8GB of RAM, the lower bound of Apple Silicon.
On average, it took 8.76 seconds to generate a SQL query at 16.7 characters per second.