Views
No views yet
1from transformers import AutoTokenizer, AutoModelForCausalLM
2import torch
3
4# Charger le modèle
5model_name = "TomSft15/gemma-3-smart-lamp-assistant-fr"
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForCausalLM.from_pretrained(
8 model_name,
9 torch_dtype=torch.float32, # Pour CPU/Raspberry Pi
10 device_map="auto" # Pour GPU
11)
12
13# Contrôler la lampe
14def control_lamp(instruction):
15 prompt = f"<bos><start_of_turn>user\n{instruction}<end_of_turn>\n<start_of_turn>model\n"
16 inputs = tokenizer(prompt, return_tensors="pt")
17
18 with torch.no_grad():
19 outputs = model.generate(**inputs, max_new_tokens=32, temperature=0.1)
20
21 response = tokenizer.decode(outputs[0], skip_special_tokens=False)
22
23 # Extraire la réponse
24 start_marker = "<start_of_turn>model\n"
25 end_marker = "<end_of_turn>"
26 start_idx = response.find(start_marker)
27 if start_idx != -1:
28 start_idx += len(start_marker)
29 end_idx = response.find(end_marker, start_idx)
30 if end_idx != -1:
31 return response[start_idx:end_idx].strip()
32 return response
33
34# Exemples
35print(control_lamp("Allume la lampe")) # "J'ai allumé la lampe."
36print(control_lamp("Couleur rouge")) # "La lampe est maintenant rouge."
37print(control_lamp("Baisse à 50%")) # "La luminosité est à 50%."AutoModelForCausalLM