huggingface.co
Total runs: 5
24-hour runs: 0
7-day runs: 1
30-day runs: -136
Model's Last Updated: October 18 2025
text-generation

Introduction of ABX

Model Details of ABX

🦋 ABX

Abx-enfant

Bienvenue sur la page de notre modèle ABX . Ce modèle de machine learning est une idée que Nous avions prototyper avec des règles. Mais nous avons considéré l'idée assez créative et intéressante pour faire l'objet de la création d'une IA de ML (machine learning), Et d'une version finale fonctionnelle concrète pour l'utilisation.

🌷 Ce que fait ABX

ABX est une IA qui simule la récitation de l'alphabet par un jeune enfant âgé de 2 a 7 ans. L'enfant (ABX) essaye de réciter l'alphabet, Mais plus son âge est faible et plus sa température est élevé, plus il oublie les lettres et se trompe. Il aura tendance à s'excuser, à pleurer ou à sauter des lettres quand il est en bas âge (2 ou 3 ans), et se tromper de façon perpétuelle. Mais ABX, sera extrêmement précis et fera un sans faute quand il est beaucoup plus grand (7 ans). Plus sa température est élevée, et plus il est jeune, plus il va faire des boulettes (a l'image d'un vrai enfant). Un bébé de 2 ans ne sais pas réciter l'alphabet, mais un enfant de 7 ans sais le faire (enfin normalement 😉). ABX simule donc cela.

🌸 Comment ABX a été entraîné

ABX a été entraîné de façon rapide, Mais a quand même nécessiter l'activation du GPU pour un entraînement efficace et continue sans plantage de session. Pour qu'il apprenne à simuler la récitation de des jeunes enfants, nous lui avons montrer l'alphabet correcte en entier, puis lui avons aussi donner des données d'entraînement pour les probabilités pour chaque âge. Nous avons aussi ajouté des petits messages aléatoires d'excuses, de pleurs et autre...que ABX utilise de temps et autres pour s'excuser et mettre de l'action a sa récitation foireuse de ses bas âge.

🔥 Que faire avec ABX

ABX peut vous être utile pour beaucoup de tâches créatives impliquant de la simulation enfantine. (Par exemple : jeux de récitation l'alphabet ou les enfants qui doivent réciter l'alphabet sont des bots gérer par le modèle). Trouvez votre propre cas d'usage et amusez vous !

🩵 Utilisation

Voici un exemple de code d'utilisation de ABX :

import torch
import torch.nn as nn
import torch.nn.functional as F
import json
import os
from huggingface_hub import hf_hub_download

# =================================================================
# 0. CONFIGURATION ET DÉFINITION DES CLASSES DU MODÈLE
# =================================================================

# --- Configuration du dépôt Hugging Face ---
HF_REPO_ID = "Clemylia/ABX"
MODEL_FILENAME = "abx_model_state.pt"
CONFIG_FILENAME = "config.json"
VOCAB_FILENAME = "vocab.json"
DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")

print(f"Périphérique utilisé : {DEVICE}")

# --- Définition des classes du modèle (Doit être identique à l'entraînement !) ---

# 1. Attention (Self-Attention Masquée Causale)
class Attention(nn.Module):
    def __init__(self, embed_dim, num_heads, dropout):
        super().__init__()
        self.norm = nn.LayerNorm(embed_dim)
        self.attn = nn.MultiheadAttention(embed_dim, num_heads, dropout=dropout, batch_first=True)
        self.dropout_rate = dropout

    def forward(self, x, mask):
        res = x
        x = self.norm(x)
        attn_output, _ = self.attn(x, x, x, attn_mask=mask, need_weights=False)
        return res + attn_output

# 2. Feed Forward (MLP)
class FeedForward(nn.Module):
    def __init__(self, embed_dim, d_ff, dropout):
        super().__init__()
        self.norm = nn.LayerNorm(embed_dim)
        self.ffn = nn.Sequential(
            nn.Linear(embed_dim, d_ff),
            nn.GELU(),
            nn.Dropout(dropout),
            nn.Linear(d_ff, embed_dim),
            nn.Dropout(dropout)
        )

    def forward(self, x):
        res = x
        x = self.norm(x)
        return res + self.ffn(x)

# 3. Bloc Décodeur
class DecoderBlock(nn.Module):
    def __init__(self, embed_dim, num_heads, d_ff, dropout):
        super().__init__()
        self.attention = Attention(embed_dim, num_heads, dropout)
        self.feed_forward = FeedForward(embed_dim, d_ff, dropout)

    def forward(self, x, mask):
        x = self.attention(x, mask)
        x = self.feed_forward(x, )
        return x

# 4. Le Modèle ABX Principal
class ABXModel(nn.Module):
    def __init__(self, vocab_size, embed_dim, num_heads, num_layers, max_seq_len, d_ff, pad_token_id, dropout=0.1):
        super().__init__()
        self.pad_token_id = pad_token_id
        self.token_embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=pad_token_id)
        self.position_embedding = nn.Embedding(max_seq_len, embed_dim)
        self.dropout = nn.Dropout(dropout)

        self.layers = nn.ModuleList([
            DecoderBlock(embed_dim, num_heads, d_ff, dropout) for _ in range(num_layers)
        ])

        self.norm = nn.LayerNorm(embed_dim)
        self.output_linear = nn.Linear(embed_dim, vocab_size)

    def creer_masque(self, taille):
        masque = torch.triu(torch.ones(taille, taille), diagonal=1).bool().to(DEVICE)
        return masque

    def forward(self, input_ids):
        T = input_ids.size(1)

        token_embed = self.token_embedding(input_ids)
        positions = torch.arange(T, device=DEVICE).unsqueeze(0)
        pos_embed = self.position_embedding(positions)

        x = self.dropout(token_embed + pos_embed)

        masque_causal = self.creer_masque(T)

        for layer in self.layers:
            x = layer(x, masque_causal)

        x = self.norm(x)
        logits = self.output_linear(x)

        return logits


# =================================================================
# 1. TÉLÉCHARGEMENT DES FICHIERS DE CONFIGURATION ET DES POIDS
# =================================================================

print("Téléchargement des fichiers du dépôt Hugging Face...")

# Télécharger les fichiers
config_path = hf_hub_download(repo_id=HF_REPO_ID, filename=CONFIG_FILENAME)
vocab_path = hf_hub_download(repo_id=HF_REPO_ID, filename=VOCAB_FILENAME)
model_weights_path = hf_hub_download(repo_id=HF_REPO_ID, filename=MODEL_FILENAME)

# --- Chargement de la Configuration ---
with open(config_path, 'r') as f:
    config = json.load(f)

# --- Chargement du Vocabulaire ---
with open(vocab_path, 'r') as f:
    # Le vocabulaire a été sauvegardé comme un mapping ID -> Token (string)
    id_to_token_str_keys = json.load(f)

# Reconstruire le mapping Token -> ID pour l'inférence
# Convertir les clés en int
id_to_token = {int(k): v for k, v in id_to_token_str_keys.items()}
token_to_id = {v: k for k, v in id_to_token.items()}


# --- Extraction des paramètres ---
VOCAB_SIZE = config['vocab_size']
EMBED_DIM = config['embed_dim']
NUM_HEADS = config['num_heads']
NUM_LAYERS = config['num_layers']
MAX_SEQ_LEN = config['max_seq_len']
D_FF = config['d_ff']
PAD_TOKEN_ID = config['pad_token_id']

# Extraction des tokens spéciaux
START_TOKEN = config['special_tokens']['start']
END_TOKEN = config['special_tokens']['end']
SEP_TOKEN = config['special_tokens']['sep']
PAD_TOKEN = config['special_tokens']['pad']


# =================================================================
# 2. INSTANCIATION ET CHARGEMENT DU MODÈLE
# =================================================================

# Instanciation du modèle ABX
model = ABXModel(
    vocab_size=VOCAB_SIZE,
    embed_dim=EMBED_DIM,
    num_heads=NUM_HEADS,
    num_layers=NUM_LAYERS,
    max_seq_len=MAX_SEQ_LEN,
    d_ff=D_FF,
    pad_token_id=PAD_TOKEN_ID
).to(DEVICE)

# Chargement des poids entraînés
model.load_state_dict(torch.load(model_weights_path, map_location=DEVICE))
model.eval() # Toujours passer en mode évaluation pour l'inférence

print("\nModèle et configuration chargés avec succès !")

# =================================================================
# 3. FONCTION DE GÉNÉRATION (Inférence)
# =================================================================

@torch.no_grad()
def generer_recitation(model, age: int, temperature: float):
    """
    Génère une récitation de l'alphabet à partir de l'âge et de la température.
    """
    model.eval()

    # Création du prompt initial
    prompt_text = f"{START_TOKEN} [AGE:{age}] {SEP_TOKEN}"
    prompt_tokens = prompt_text.split()

    # Conversion en IDs
    input_ids = [token_to_id.get(token, PAD_TOKEN_ID) for token in prompt_tokens]
    input_tensor = torch.tensor([input_ids], dtype=torch.long, device=DEVICE)
    output_ids = input_ids[:]

    # Boucle de génération
    for _ in range(len(prompt_tokens), MAX_SEQ_LEN):

        logits = model(input_tensor)
        next_token_logits = logits[0, -1, :]

        # Application de la Température (échantillonnage)
        if temperature <= 0.01:
            next_token_id = torch.argmax(next_token_logits).item()
        else:
            probabilities = F.softmax(next_token_logits / temperature, dim=-1)

            if torch.isnan(probabilities).any() or probabilities.sum() == 0:
                next_token_id = torch.argmax(next_token_logits).item()
            else:
                next_token_id = torch.multinomial(probabilities, num_samples=1).item()

        # Condition d'arrêt
        if id_to_token.get(next_token_id) == END_TOKEN:
            break

        output_ids.append(next_token_id)

        # Mise à jour de la séquence d'entrée
        next_token_tensor = torch.tensor([[next_token_id]], dtype=torch.long, device=DEVICE)
        input_tensor = torch.cat([input_tensor, next_token_tensor], dim=1)

    # Conversion en texte et nettoyage
    output_text = " ".join([id_to_token.get(id) for id in output_ids])
    output_text = output_text.replace(f"{START_TOKEN} [AGE:{age}] {SEP_TOKEN}", "").replace(END_TOKEN, "").replace(PAD_TOKEN, "").strip()

    return output_text


# =================================================================
# 4. EXEMPLES D'UTILISATION POUR L'UTILISATEUR
# =================================================================

print("\n" + "="*50)
print("             TESTS UTILISATEUR ABX")
print("="*50)

# Scénario 1: L'enfant ne se concentre pas (Age bas, Température haute)
age_test_1 = 2
temp_test_1 = 1.3
result_1 = generer_recitation(model, age_test_1, temp_test_1)
print(f"-> Âge: {age_test_1} ans, Température: {temp_test_1} (Distrait)")
print(f"Récitation: {result_1}\n")

# Scénario 2: L'enfant fait un effort (Age moyen, Température modérée)
age_test_2 = 5
temp_test_2 = 0.7
result_2 = generer_recitation(model, age_test_2, temp_test_2)
print(f"-> Âge: {age_test_2} ans, Température: {temp_test_2} (Normal)")
print(f"Récitation: {result_2}\n")

# Scénario 3: L'enfant est très attentif (Age haut, Température basse)
age_test_3 = 7
temp_test_3 = 0.1
result_3 = generer_recitation(model, age_test_3, temp_test_3)
print(f"-> Âge: {age_test_3} ans, Température: {temp_test_3} (Précis)")
print(f"Récitation: {result_3}")

Runs of Clemylia ABX on huggingface.co

5
Total runs
0
24-hour runs
0
3-day runs
1
7-day runs
-136
30-day runs

More Information About ABX huggingface.co Model

More ABX license Visit here:

https://choosealicense.com/licenses/mit

ABX huggingface.co

ABX huggingface.co is an AI model on huggingface.co that provides ABX's model effect (), which can be used instantly with this Clemylia ABX model. huggingface.co supports a free trial of the ABX model, and also provides paid use of the ABX. Support call ABX model through api, including Node.js, Python, http.

Clemylia ABX online free

ABX huggingface.co is an online trial and call api platform, which integrates ABX's modeling effects, including api services, and provides a free online trial of ABX, you can try ABX online for free by clicking the link below.

Clemylia ABX online free url in huggingface.co:

https://huggingface.co/Clemylia/ABX

ABX install

ABX is an open source model from GitHub that offers a free installation service, and any user can find ABX on GitHub to install. At the same time, huggingface.co provides the effect of ABX install, users can directly use ABX installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

ABX install url in huggingface.co:

https://huggingface.co/Clemylia/ABX

Url of ABX

Provider of ABX huggingface.co

Clemylia
ORGANIZATIONS

Other API from Clemylia

huggingface.co

Total runs: 439
Run Growth: 79
Growth Rate: 18.00%
Updated:September 29 2025
huggingface.co

Total runs: 364
Run Growth: 41
Growth Rate: 11.26%
Updated:October 30 2025
huggingface.co

Total runs: 316
Run Growth: 316
Growth Rate: 100.00%
Updated:December 02 2025
huggingface.co

Total runs: 263
Run Growth: 263
Growth Rate: 100.00%
Updated:November 05 2025
huggingface.co

Total runs: 214
Run Growth: 214
Growth Rate: 100.00%
Updated:November 23 2025
huggingface.co

Total runs: 197
Run Growth: 28
Growth Rate: 14.21%
Updated:October 30 2025
huggingface.co

Total runs: 168
Run Growth: 23
Growth Rate: 13.69%
Updated:October 19 2025
huggingface.co

Total runs: 162
Run Growth: 162
Growth Rate: 100.00%
Updated:October 07 2025
huggingface.co

Total runs: 162
Run Growth: 86
Growth Rate: 53.09%
Updated:November 05 2025
huggingface.co

Total runs: 131
Run Growth: 13
Growth Rate: 9.92%
Updated:October 03 2025
huggingface.co

Total runs: 127
Run Growth: 127
Growth Rate: 100.00%
Updated:November 26 2025
huggingface.co

Total runs: 126
Run Growth: 126
Growth Rate: 100.00%
Updated:November 27 2025
huggingface.co

Total runs: 106
Run Growth: 50
Growth Rate: 47.17%
Updated:November 29 2025
huggingface.co

Total runs: 97
Run Growth: 97
Growth Rate: 100.00%
Updated:November 05 2025
huggingface.co

Total runs: 94
Run Growth: 94
Growth Rate: 100.00%
Updated:November 17 2025
huggingface.co

Total runs: 85
Run Growth: 31
Growth Rate: 36.47%
Updated:November 13 2025
huggingface.co

Total runs: 84
Run Growth: -80
Growth Rate: -95.24%
Updated:December 01 2025
huggingface.co

Total runs: 81
Run Growth: 81
Growth Rate: 100.00%
Updated:November 23 2025
huggingface.co

Total runs: 71
Run Growth: 71
Growth Rate: 100.00%
Updated:November 14 2025
huggingface.co

Total runs: 71
Run Growth: 71
Growth Rate: 100.00%
Updated:November 29 2025
huggingface.co

Total runs: 67
Run Growth: 67
Growth Rate: 100.00%
Updated:December 06 2025
huggingface.co

Total runs: 61
Run Growth: 16
Growth Rate: 26.23%
Updated:November 08 2025
huggingface.co

Total runs: 57
Run Growth: 57
Growth Rate: 100.00%
Updated:November 30 2025
huggingface.co

Total runs: 55
Run Growth: 5
Growth Rate: 9.09%
Updated:November 14 2025
huggingface.co

Total runs: 54
Run Growth: 5
Growth Rate: 9.26%
Updated:November 09 2025
huggingface.co

Total runs: 54
Run Growth: 54
Growth Rate: 100.00%
Updated:November 14 2025
huggingface.co

Total runs: 52
Run Growth: 52
Growth Rate: 100.00%
Updated:November 15 2025
huggingface.co

Total runs: 46
Run Growth: 46
Growth Rate: 100.00%
Updated:November 30 2025
huggingface.co

Total runs: 42
Run Growth: -5
Growth Rate: -11.90%
Updated:November 18 2025
huggingface.co

Total runs: 37
Run Growth: 37
Growth Rate: 100.00%
Updated:November 14 2025
huggingface.co

Total runs: 36
Run Growth: 5
Growth Rate: 13.89%
Updated:November 14 2025
huggingface.co

Total runs: 32
Run Growth: 3
Growth Rate: 9.38%
Updated:December 06 2025
huggingface.co

Total runs: 26
Run Growth: 26
Growth Rate: 100.00%
Updated:October 11 2025
huggingface.co

Total runs: 24
Run Growth: -29
Growth Rate: -120.83%
Updated:November 26 2025
huggingface.co

Total runs: 22
Run Growth: 5
Growth Rate: 22.73%
Updated:September 24 2025
huggingface.co

Total runs: 16
Run Growth: 3
Growth Rate: 18.75%
Updated:February 02 2026
huggingface.co

Total runs: 15
Run Growth: 4
Growth Rate: 26.67%
Updated:January 20 2026
huggingface.co

Total runs: 13
Run Growth: 7
Growth Rate: 53.85%
Updated:January 07 2026
huggingface.co

Total runs: 12
Run Growth: 6
Growth Rate: 50.00%
Updated:September 25 2025
huggingface.co

Total runs: 10
Run Growth: 0
Growth Rate: 0.00%
Updated:October 28 2025
huggingface.co

Total runs: 10
Run Growth: 2
Growth Rate: 20.00%
Updated:October 12 2025
huggingface.co

Total runs: 9
Run Growth: 2
Growth Rate: 22.22%
Updated:December 19 2025
huggingface.co

Total runs: 8
Run Growth: 2
Growth Rate: 25.00%
Updated:September 27 2025
huggingface.co

Total runs: 7
Run Growth: -36
Growth Rate: -514.29%
Updated:November 04 2025
huggingface.co

Total runs: 6
Run Growth: 0
Growth Rate: 0.00%
Updated:January 17 2026
huggingface.co

Total runs: 3
Run Growth: 3
Growth Rate: 100.00%
Updated:December 14 2025
huggingface.co

Total runs: 3
Run Growth: 2
Growth Rate: 66.67%
Updated:November 29 2025
huggingface.co

Total runs: 3
Run Growth: -2
Growth Rate: -66.67%
Updated:December 13 2025
huggingface.co

Total runs: 2
Run Growth: -6
Growth Rate: -300.00%
Updated:January 17 2026
huggingface.co

Total runs: 2
Run Growth: -2
Growth Rate: -100.00%
Updated:January 24 2026