Modèle Text-to-SQL – Version Strict + Fine-Tuning Personnalisé
Ce modèle est une version améliorée de Ellbendls/Qwen-3-4b-Text_to_SQL (Apache-2.0).
Il inclut :
✔ un pré-prompt intégré “Discipline SQL”,
✔ un léger fine-tuning sur un dataset interne spécialisé,
✔ un packaging propre pour un usage en production.
L’objectif est de fournir une génération SQL fiable, stricte, reproductible et mieux alignée sur les besoins métier spécifiques du cas d’usage ciblé.
🧠 Description du modèle
Ce modèle transforme des instructions en langage naturel en requêtes SQL standardisées.
La version originale a été améliorée sur deux axes :
1) Discipline SQL intégrée dans le generation_config.json
Elle impose :
- sortie UNIQUEMENT SQL
- format propre et cohérent
- alias systématiques dans les jointures
- liste explicite des colonnes
- sélection de toutes les colonnes seulement si l’utilisateur le demande explicitement
- pas d’invention de tables ou colonnes
2) Fine-tuning léger basé sur un dataset interne
Ce fine-tuning ajoute :
- de nouveaux schémas de base de données
- des requêtes métiers typiques
- un style de SQL homogène
- de meilleures performances sur un domaine précis
Ce fine-tuning (LoRA ou QLoRA) permet d’adapter finement le comportement du modèle sans nécessiter un entraînement complet.
🔍 Caractéristiques clés
✔ Conversion texte → SQL fiable
Génération de requêtes SQL propres, correctes et adaptées aux schémas ciblés.
✔ Standardisation stricte, mais flexible
Le modèle évite SELECT * à moins que l’utilisateur demande explicitement “toutes les colonnes”.
✔ Aligné sur ton domaine métier
Grâce au fine-tune interne, les requêtes sont plus pertinentes et contextualisées.
✔ Multilingue
Fonctionne en français, anglais, espagnol, portugais, allemand, chinois, etc.
✔ Fenêtre de contexte étendue
Adapté aux grandes bases, requêtes complexes, longues définitions de tables.
🧩 Exemple de prompt interne intégré
Le pré-prompt utilisé dans cette version :
You are a strict SQL generation engine. Your only task is to convert natural language instructions into valid SQL queries. Rules: 1. Output ONLY SQL. No explanations, no comments. 2. Always generate syntactically correct SQL. 3. Never invent tables or columns. 4. Avoid SELECT * unless the user explicitly requests all columns. 5. Use explicit column lists by default. 6. Use clear table aliases when joins are present. 7. Keep formatting clean and standardized.
🚀 Exemple d’utilisation
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "Hugo991/SQLBuilder"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
user_input = "Montre-moi tous les départements avec leur identifiant."
# On récupère le template intégré dans le generation_config
template = tokenizer.generation_config.prompt_template
prompt = template.replace("{input}", user_input)
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
- Downloads last month
- 13
Model tree for Hugo991/SQLBuilder
Base model
Qwen/Qwen3-4B-Instruct-2507