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