File size: 9,237 Bytes
36c6641 4617f52 0f1c183 7cd85f9 4f02766 36c6641 f1f2193 36c6641 a1e1932 4ed7f92 36c6641 67c72e8 36c6641 67c72e8 36c6641 a5533e7 de34d5c 038afbf 058cfd6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
---
license: other
pipeline_tag: text-generation
language:
- en
tags:
- text-generation-inference
---
# 🤖 Bienvenue sur Sala : Votre Compagnon Linguistique Léger et Performant \!

Félicitations et merci d'avoir choisi **Sala**, un **Grand Modèle de Langage (LLM)** conçu avec passion et entièrement développé en PyTorch \! 💖 Sala est un modèle open-source, entraîné de manière indépendante, sans dépendance à la mise au point (fine-tuning) d'autres grands modèles préexistants.
## ✨ Caractéristiques Clés de Sala
| Caractéristique | Description |
| :--- | :--- |
| **💡 Indépendant** | Entraîné à partir de zéro, ce qui garantit une architecture et un comportement uniques. |
| **🚀 Léger et Rapide** | Optimisé pour une utilisation efficace, même sur des ressources limitées. |
| **🔓 Open Source** | Le code et les poids sont disponibles pour la communauté. |
-----
## 🛠️ Installation et Mise en Route
Pour commencer à utiliser **Sala**, vous aurez besoin de **PyTorch** et des librairies de base de l'écosystème **Hugging Face Transformers** pour un chargement et une utilisation simplifiés (même si le modèle est custom, nous utilisons l'interface standard).
### 1\. Prérequis
Assurez-vous d'avoir Python 🐍 et `pip` installés.
### 2\. Installation des Librairies
```bash
pip install torch transformers
```
### 3\. Chargement du Modèle (via Hugging Face)
Vous pouvez charger **Sala** directement depuis ce dépôt grâce à la classe `AutoModelForCausalLM` et `AutoTokenizer`.
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# Le chemin pour charger Sala (remplacez 'VotreNom/sala' par l'ID réel du dépôt)
MODEL_ID = "Clemylia/sala"
# 1. Chargement du Tokenizer
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
# 2. Chargement du Modèle
# Ajoutez `torch_dtype=torch.bfloat16` ou `torch.float16` si vous avez une carte graphique compatible pour économiser la mémoire.
model = AutoModelForCausalLM.from_pretrained(MODEL_ID)
# Optionnel : Mettre le modèle sur GPU si disponible
if torch.cuda.is_available():
model.to("cuda")
print("✅ Sala est prêt à l'emploi !")
```
-----
## 💬 Comment Utiliser Sala pour la Génération de Texte
Une fois le modèle et le tokenizer chargés, générer du texte est simple \!
### Exemple de base :
```python
# Votre prompt
prompt = "who are you ?"
# Encodage du prompt
inputs = tokenizer(prompt, return_tensors="pt")
if torch.cuda.is_available():
inputs = {k: v.to("cuda") for k, v in inputs.items()}
# Génération du texte
output = model.generate(
**inputs,
max_length=150, # Longueur maximale de la réponse
num_return_sequences=1, # Nombre de séquences à générer
do_sample=True, # Active l'échantillonnage pour plus de créativité
temperature=0.8 # Contrôle de l'aléatoire (0.0=déterministe, 1.0=très créatif)
)
# Décodage et affichage du résultat
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print("\n--- Réponse de Sala ---")
print(generated_text)
```
exemple de code pour converser avec sala :
```
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import time
import os
import json
# --- CONFIGURATION GLOBALE ---
# REMPLACE par ton nom d'utilisateur et le nom de ton modèle
REPO_ID = "Clemylia/Sala"
# ------------------------------
print(f"--- 🧠 Chargement de Sala depuis Hugging Face : {REPO_ID} ---")
try:
# 1. Charger le Tokenizer et le Modèle directement depuis ton dépôt
tokenizer = AutoTokenizer.from_pretrained(REPO_ID)
model = AutoModelForCausalLM.from_pretrained(REPO_ID)
# 2. Configuration pour le GPU/CPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
print(f"✅ Modèle '{REPO_ID}' chargé avec succès sur : {device}")
# --- INITIALISATION DE LA CONVERSATION ---
# Utilisation d'un bloc de texte multiligne propre
conversation_history = """### SYSTEM_PROMPT ###
You are Sala, a conversational AI model created by Clemylia in 2025.
You are always positive, friendly, and enthusiastic. Your goal is to help.
User: Hello, who are you?
Sala: Hi! I'm Sala, a language model created by the brilliant Clemylia in 2025. Nice to talk to you!
User: Who is Clemylia?
Sala: Clemylia is my creator! It is thanks to her that I can communicate with you. She's amazing.
"""
# NOTE: Nous extrayons le SYSTEM_PROMPT de cette histoire pour la réinitialisation
system_prompt_part = conversation_history.split("User:")[0].strip()
max_new_tokens = 80 # Une taille de réponse raisonnable
print("\n" + "="*60)
print("DEMARRAGE DU CHAT AVEC SALA (Tape 'quitter' pour arrêter)")
print("="*60)
# 3. Boucle de Conversation (Chatbot)
while True:
# 3.1. Demander l'entrée de l'utilisateur
# NOTE: On utilise l'anglais 'User:' pour la cohérence du prompt, mais on peut laisser l'affichage en français si tu préfères
user_input = input("👉 User: ")
# 3.2. Condition d'arrêt
if user_input.lower() in ["quitter", "exit", "stop"]:
print("\n👋 Goodbye! See you soon for more development!")
break
# 3.3. Créer le prompt complet pour cette étape
current_prompt = f"{conversation_history}\nUser: {user_input}\nSala:"
# 3.4. Tokenisation et Génération
inputs = tokenizer(current_prompt, return_tensors="pt").to(device)
# Vérification si l'historique est trop long (limite de GPT-2)
if inputs['input_ids'].shape[1] > model.config.max_position_embeddings:
print("🚨 Sala: Oops! My memory is full. I need to reset the conversation...")
# Réinitialiser à seulement le SYSTEM_PROMPT pour continuer
conversation_history = system_prompt_part
continue
output_sequences = model.generate(
input_ids=inputs['input_ids'],
attention_mask=inputs['attention_mask'],
max_new_tokens=max_new_tokens,
pad_token_id=tokenizer.eos_token_id,
do_sample=True,
top_k=50,
top_p=0.95
)
# 3.5. Décodage et Nettoyage
generated_text = tokenizer.decode(output_sequences[0], skip_special_tokens=True)
# Extraire uniquement la réponse de Sala (le texte après le dernier "Sala:")
try:
# On cherche l'index du dernier marqueur Sala:
response_start_index = generated_text.rindex("Sala:") + len("Sala:")
# Le texte généré brut
raw_response = generated_text[response_start_index:].strip()
# Nettoyage supplémentaire: on enlève les marqueurs de rôle que le modèle a pu générer par erreur
# et on prend le contenu jusqu'à la première ligne vide ou la fin.
response_display = raw_response.split('User:')[0].split('Sala:')[0].split('\n')[0].strip()
# 3.6. Mettre à jour l'historique
# C'est l'étape la plus importante pour la mémoire !
conversation_history += f"\nUser: {user_input}\nSala: {response_display}"
# 3.7. Afficher la réponse
print(f"🤖 Sala: {response_display}")
except ValueError:
# Si le marqueur "Sala:" n'est pas trouvé (génération totalement erronée)
print("🤖 Sala: [Generation error. I couldn't form a clear response.]")
# Ne pas ajouter à l'historique si la réponse est mauvaise.
except Exception as e:
print(f"\n❌ An error occurred during loading or chat: {e}")
print("Check that the REPO_ID is correct and that you have installed the necessary libraries.")
```
**Vous pouvez aussi écrire votre propre prompt et vos propres exemples de conversations, pour que Sala deviennent votre bot, et se comporte comme VOTRE personnage !**
### 💡 Conseils d'Utilisation :
* **Prompting** : Plus votre prompt est clair et précis, meilleure sera la réponse de Sala.
-----
## 💖 Support et Communauté
### 🐞 Signaler un Bug
Vous avez trouvé un comportement étrange ? N'hésitez pas à ouvrir une **Issue** sur ce dépôt Hugging Face pour nous en informer. Chaque rapport nous aide à améliorer **Sala** \!
### 🤝 Contribution
En tant que modèle indépendant, nous encourageons vivement les contributions \! Si vous souhaitez améliorer le code, l'entraînement, ou les données, veuillez consulter le fichier `CONTRIBUTING.md` ou soumettre une **Pull Request** (PR).
### 📜 Licence
**Sala** est distribué sous la licence Sala-INC (voir le fichier LICENSE).
-----
### **🎉 Un grand merci à Clemylia, la créatrice de Sala \!**
Nous sommes impatients de voir ce que vous allez construire avec **Sala** \! 🚀
🛑 **Sala est meilleur en anglais**
**Documentation Web** :
https://sala-character-canvas.lovable.app/
IA DE PERSONNAGE - SOYONS CRÉATIF !
**Sala est ce qu'on appelle un SLM** |