axrafTic/text2sqlProspeciton
17
1---2base_model: Qwen/Qwen2.5-Coder-3B-Instruct3library_name: peft4pipeline_tag: text-generation5language:6- fr7tags:8- text2sql9- text-to-sql10- lora11- qlora12- schema-linking13- qwen2.5-coder14- french15inference: true16---17 18# Text-to-SQL Prospect Model (Approach B: Schema-Linking)19 20Fine-tuned QLoRA adapter for **Qwen2.5-Coder-3B-Instruct** designed to generate SQL queries in French for the `companies` database schema.21 22## Model Details23- **Base Model**: `Qwen/Qwen2.5-Coder-3B-Instruct`24- **Adapter Repo**: `axrafTic/text2sqlProspeciton`25- **Method**: QLoRA Fine-Tuning (`r=32`, `alpha=64`, target modules: all linear layers)26- **Task**: Text-to-SQL (French natural language questions -> SQLite / Postgres SQL queries)27- **Approach**: Schema-Linking with column annotations (`SCHEMA_B`)28 29## Prompt Structure (ChatML)30 31```text32<|im_start|>system33Tu es un analyste de données expert en SQL. Transforme la question de l'utilisateur en une requête SQL valide et exécutable. Ne génère que le code SQL, sans explication.<|im_end|>34<|im_start|>user35Base de données:36[SCHEMA]37Table: companies (Profils d'entreprises françaises)38Colonnes:39- id (UUID identifiant unique)40- name (Nom commercial de l'entreprise)41- rating (Note Google Maps de 0 à 5)42- reviews (Nombre total d'avis Google)43- is_spending_on_ads (1 si l'entreprise paie pour des annonces, 0 sinon)44- description (Description textuelle de l'activité)45- website (URL du site web, NULL si absent)46- address (Adresse postale complète)47- ville (ex: 'Paris', 'Lyon', 'Marseille')48- secteur (ex: 'Informatique', 'Finance', 'Santé')49- region (ex: 'Ile-de-France', 'Auvergne-Rhone-Alpes')50- codeAPE (Code NAF d'activité économique)51- siren (Identifiant unique entreprise à 9 chiffres)52- siret (Identifiant unique établissement à 14 chiffres)53 54Question: Lister les entreprises à Paris avec une note supérieure à 4.55SQL:<|im_end|>56<|im_start|>assistant57```58 59## How to Load in Python60 61```python62import torch63from transformers import AutoTokenizer, AutoModelForCausalLM64from peft import PeftModel65 66base_model_id = "Qwen/Qwen2.5-Coder-3B-Instruct"67adapter_id = "axrafTic/text2sqlProspeciton"68 69tokenizer = AutoTokenizer.from_pretrained(adapter_id)70base_model = AutoModelForCausalLM.from_pretrained(base_model_id, torch_dtype=torch.float16, device_map="auto")71model = PeftModel.from_pretrained(base_model, adapter_id)72```