初始化项目,由ModelHub XC社区提供模型

Model: Finisha-F-scratch/Sala
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-07-09 01:32:09 +08:00
commit 63de5d389e
11 changed files with 300679 additions and 0 deletions

35
.gitattributes vendored Normal file
View File

@@ -0,0 +1,35 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text

18
LICENSE Normal file
View File

@@ -0,0 +1,18 @@
**Sala INC**
En utilisant notre modèle, vous atestez et confirmez votre connaissance de ces conditions de cette license.
Nous ne sommes en aucun cas responsable en cas de détournement et de personnalisation du modèle à des fins non prévue.
Veuillez lire la liste des conditions si dessous :
1) Sala est un mini-llm fournit en état.
nous nous declarons pas responsables, en cas de mauvaise usage du modèle.
2) En utilisant Sala, vous attestez de ne pas compromettre les droits d'auteurs ou les licences d'un autre developpeur ou tout autre créateur,
via votre personnalisation du modèle ou votre fine tuning.
3) Nous autorisons le fine tuning et l'utilisation commerciale de vos modèles dérive,
mais ils ne doivent pas faire de référence a notre modèle original (Sala),
au niveau : du nom, de la personnalité principale ou de son créateur original,
dans votre code ou dataset de fine tuning.
Soyez toujours originaux et créatifs.

244
README.md Normal file
View File

@@ -0,0 +1,244 @@
---
license: other
pipeline_tag: text-generation
language:
- en
tags:
- text-generation-inference
library_name: transformers
---
# 🤖 Bienvenue sur Sala : Votre Compagnon Linguistique Léger et Performant \!
![Sala](http://www.image-heberg.fr/files/1758981861427642293.jpg)
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 = "NaaClem/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 = "NaaClem/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 !

38
config.json Normal file
View File

@@ -0,0 +1,38 @@
{
"activation_function": "gelu_new",
"architectures": [
"GPT2LMHeadModel"
],
"attn_pdrop": 0.1,
"bos_token_id": 50256,
"dtype": "float32",
"embd_pdrop": 0.1,
"eos_token_id": 50256,
"initializer_range": 0.02,
"layer_norm_epsilon": 1e-05,
"model_type": "gpt2",
"n_ctx": 1024,
"n_embd": 768,
"n_head": 12,
"n_inner": null,
"n_layer": 12,
"n_positions": 1024,
"reorder_and_upcast_attn": false,
"resid_pdrop": 0.1,
"scale_attn_by_inverse_layer_idx": false,
"scale_attn_weights": true,
"summary_activation": null,
"summary_first_dropout": 0.1,
"summary_proj_to_labels": true,
"summary_type": "cls_index",
"summary_use_proj": true,
"task_specific_params": {
"text-generation": {
"do_sample": true,
"max_length": 50
}
},
"transformers_version": "4.56.1",
"use_cache": true,
"vocab_size": 50257
}

6
generation_config.json Normal file
View File

@@ -0,0 +1,6 @@
{
"_from_model_config": true,
"bos_token_id": 50256,
"eos_token_id": 50256,
"transformers_version": "4.56.1"
}

50001
merges.txt Normal file

File diff suppressed because it is too large Load Diff

3
model.safetensors Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c7d00560d8910fbed77ffad4065dee5011c41ba401b1064e749c498ba9e20373
size 497774208

6
special_tokens_map.json Normal file
View File

@@ -0,0 +1,6 @@
{
"bos_token": "<|endoftext|>",
"eos_token": "<|endoftext|>",
"pad_token": "<|endoftext|>",
"unk_token": "<|endoftext|>"
}

250306
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

21
tokenizer_config.json Normal file
View File

@@ -0,0 +1,21 @@
{
"add_prefix_space": false,
"added_tokens_decoder": {
"50256": {
"content": "<|endoftext|>",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false,
"special": true
}
},
"bos_token": "<|endoftext|>",
"clean_up_tokenization_spaces": false,
"eos_token": "<|endoftext|>",
"extra_special_tokens": {},
"model_max_length": 1024,
"pad_token": "<|endoftext|>",
"tokenizer_class": "GPT2Tokenizer",
"unk_token": "<|endoftext|>"
}

1
vocab.json Normal file

File diff suppressed because one or more lines are too long