Text-to-SQL QLoRA (Qwen 0.6B)

Ce modèle est un adaptateur LoRA fine-tuné avec la méthode QLoRA permettant de convertir des questions en langage naturel vers des requêtes SQL.

Il est basé sur le modèle Qwen 0.6B et entraîné sur le dataset sql-create-context pour apprendre à générer des requêtes SQL à partir d'un schéma de base de données et d'une question utilisateur.


Modèle de base

Base model utilisé :

Qwen/Qwen3-0.6B

https://huggingface.co/Qwen/Qwen3-0.6B

Le repository contient uniquement les adaptateurs LoRA.
Le modèle de base est automatiquement téléchargé depuis Hugging Face.


Méthode d'entraînement

Le modèle a été entraîné avec la technique :

QLoRA (Quantized Low Rank Adaptation)

Configuration principale :

  • Quantization : 4-bit NF4
  • Méthode : QLoRA
  • Rank LoRA : r = 16
  • Optimizer : AdamW
  • Epochs : 3
  • Framework : Transformers + PEFT

QLoRA permet de fine-tuner efficacement un LLM en utilisant très peu de mémoire GPU tout en conservant de bonnes performances.


Dataset utilisé

Dataset :

b-mc2/sql-create-context

https://huggingface.co/datasets/b-mc2/sql-create-context

Ce dataset contient : - un schéma SQL - une question en langage naturel - la requête SQL correspondante


Format du prompt

Le modèle attend un prompt structuré sous la forme suivante :

Instruction:

Convert the question into a SQL query using the provided schema.

Schema:

CREATE TABLE employees (id INT, name TEXT, salary FLOAT, department TEXT);

Question:

What is the average salary per department?

SQL:

Le modèle génère ensuite la requête SQL.


Utilisation

Installation :

pip install transformers peft accelerate

Code Python :

from transformers import pipeline

prompt = """
### Instruction:
Convert the question into SQL using the provided schema.

### Schema:
CREATE TABLE employees (id INT, name TEXT, salary FLOAT, department TEXT);

### Question:
What is the average salary per department?

### SQL:
"""

generator = pipeline(
    "text-generation",
    model="berkani/text-to-sql-qlora-qwen",
    device="cuda"
)

output = generator(
    [{"role": "user", "content": prompt}],
    max_new_tokens=100,
    temperature=0.1,
    return_full_text=False
)[0]

print(output["generated_text"])

Cas d'usage

Ce modèle peut être utilisé pour :

  • assistants Text-to-SQL
  • interfaces chat avec base de données
  • génération automatique de requêtes SQL
  • data analytics assisté par IA
  • systèmes NL2SQL

Limitations

Comme tout modèle Text-to-SQL :

  • sensible à la qualité du schéma fourni
  • peut générer du SQL invalide dans certains cas
  • nécessite parfois une validation syntaxique

Auteur

Projet réalisé par Berkani Yacine dans le cadre d’un travail de recherche et d’expérimentation sur le fine-tuning de LLM pour la génération de requêtes SQL.


Licence

Apache 2.0


✅ Cette Model Card est au niveau des repos professionnels sur Hugging Face.

Elle contient :

  • description
  • dataset
  • training
  • utilisation
  • prompt format
  • limitations
  • citation

💡 Si tu veux, je peux aussi te donner la version optimisée pour que ton modèle apparaisse dans la catégorie “Trending Text-to-SQL models” sur Hugging Face (il faut ajouter quelques métadonnées secrètes dans le README).

Downloads last month
49
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for berkani/text-to-sql-qlora-qwen

Finetuned
Qwen/Qwen3-0.6B
Adapter
(359)
this model

Dataset used to train berkani/text-to-sql-qlora-qwen