🔧 FIXED: Modèle complet avec tous les fichiers nécessaires
Browse files
README.md
CHANGED
|
@@ -13,11 +13,11 @@ model_type: gemma
|
|
| 13 |
pipeline_tag: text-generation
|
| 14 |
---
|
| 15 |
|
| 16 |
-
# 🏠 Gemma Smart Lamp Assistant
|
| 17 |
|
| 18 |
-
**Modèle IA complet pour
|
| 19 |
|
| 20 |
-
## 🚀 Utilisation
|
| 21 |
|
| 22 |
```python
|
| 23 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
|
@@ -28,11 +28,10 @@ model_name = "TomSft15/gemma-3-smart-lamp-assistant-fr"
|
|
| 28 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 29 |
model = AutoModelForCausalLM.from_pretrained(
|
| 30 |
model_name,
|
| 31 |
-
torch_dtype=torch.float32, #
|
| 32 |
-
|
| 33 |
)
|
| 34 |
|
| 35 |
-
# Contrôler la lampe
|
| 36 |
def control_lamp(instruction):
|
| 37 |
prompt = f"<bos><start_of_turn>user\n{instruction}<end_of_turn>\n<start_of_turn>model\n"
|
| 38 |
inputs = tokenizer(prompt, return_tensors="pt")
|
|
@@ -53,23 +52,25 @@ def control_lamp(instruction):
|
|
| 53 |
return response[start_idx:end_idx].strip()
|
| 54 |
return response
|
| 55 |
|
| 56 |
-
#
|
| 57 |
print(control_lamp("Allume la lampe")) # "J'ai allumé la lampe."
|
| 58 |
print(control_lamp("Couleur rouge")) # "La lampe est maintenant rouge."
|
| 59 |
print(control_lamp("Baisse à 50%")) # "La luminosité est à 50%."
|
| 60 |
```
|
| 61 |
|
| 62 |
-
## 📊
|
| 63 |
|
| 64 |
-
- **
|
| 65 |
-
- **
|
| 66 |
-
- **
|
| 67 |
-
- **Taille** : ~1.8GB (modèle complet)
|
| 68 |
|
| 69 |
-
##
|
| 70 |
|
| 71 |
-
|
| 72 |
-
- **Couleurs** : "Rouge", "Bleu", "Vert", "Jaune", "Blanc"
|
| 73 |
-
- **Luminosité** : "Plus fort", "Baisse", "50%", "Maximum"
|
| 74 |
|
| 75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
pipeline_tag: text-generation
|
| 14 |
---
|
| 15 |
|
| 16 |
+
# 🏠 Gemma Smart Lamp Assistant
|
| 17 |
|
| 18 |
+
**Modèle IA complet pour contrôler des lampes connectées en français**
|
| 19 |
|
| 20 |
+
## 🚀 Utilisation sur Raspberry Pi
|
| 21 |
|
| 22 |
```python
|
| 23 |
from transformers import AutoTokenizer, AutoModelForCausalLM
|
|
|
|
| 28 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 29 |
model = AutoModelForCausalLM.from_pretrained(
|
| 30 |
model_name,
|
| 31 |
+
torch_dtype=torch.float32, # Compatible CPU
|
| 32 |
+
low_cpu_mem_usage=True
|
| 33 |
)
|
| 34 |
|
|
|
|
| 35 |
def control_lamp(instruction):
|
| 36 |
prompt = f"<bos><start_of_turn>user\n{instruction}<end_of_turn>\n<start_of_turn>model\n"
|
| 37 |
inputs = tokenizer(prompt, return_tensors="pt")
|
|
|
|
| 52 |
return response[start_idx:end_idx].strip()
|
| 53 |
return response
|
| 54 |
|
| 55 |
+
# Tests
|
| 56 |
print(control_lamp("Allume la lampe")) # "J'ai allumé la lampe."
|
| 57 |
print(control_lamp("Couleur rouge")) # "La lampe est maintenant rouge."
|
| 58 |
print(control_lamp("Baisse à 50%")) # "La luminosité est à 50%."
|
| 59 |
```
|
| 60 |
|
| 61 |
+
## 📊 Commandes supportées
|
| 62 |
|
| 63 |
+
- **Allumage/Extinction** : "Allume la lampe", "Éteins", "On", "Off"
|
| 64 |
+
- **Couleurs** : "Rouge", "Bleu", "Vert", "Jaune", "Blanc"
|
| 65 |
+
- **Luminosité** : "Plus fort", "Baisse", "50%", "Maximum", "Minimum"
|
|
|
|
| 66 |
|
| 67 |
+
## ✅ Modèle complet
|
| 68 |
|
| 69 |
+
Ce modèle contient tous les fichiers nécessaires (`model.safetensors`, `config.json`, etc.) et est compatible avec `AutoModelForCausalLM`.
|
|
|
|
|
|
|
| 70 |
|
| 71 |
+
## 🛠️ Spécifications
|
| 72 |
+
|
| 73 |
+
- **Base** : Gemma 2 2B + LoRA fine-tuning
|
| 74 |
+
- **Dataset** : 50+ exemples français
|
| 75 |
+
- **Taille** : ~1.8GB
|
| 76 |
+
- **Compatible** : CPU et GPU
|