Fiche Modèle : Cygnis Alpha

Open In Colab License Version

Informations sur le Modèle

Description

Cygnis Alpha est un modèle de langage léger (SLM - Small Language Model) de 1,7 milliard de paramètres, basé sur l'architecture de SmolLM2-1.7B-Instruct.

Ce modèle a été spécifiquement "fine-tuné" (entraîné sur des instructions) pour développer une identité propre : celle d'un assistant IA nommé Cygnis Alpha, créé par Simonc-44. Il est conçu pour être poli, concis et efficace.

L'objectif principal de Cygnis Alpha est de fournir une expérience d'IA conversationnelle fluide sur du matériel aux ressources limitées. Grâce à une quantification avancée au format GGUF (Q4_K_M), il peut fonctionner intégralement sur le processeur (CPU) d'un ordinateur portable standard, sans nécessiter de carte graphique dédiée (GPU), tout en conservant une vitesse d'inférence élevée.

Entrées et Sorties

  • Entrée : Chaîne de texte (questions, instructions de chat). Il est optimisé pour le français.
  • Sortie : Texte généré en réponse à l'entrée, respectant l'identité de l'assistant.
  • Contexte : Supporte une fenêtre de contexte allant jusqu'à 2048 tokens.

Spécifications Techniques

Caractéristique Détail
Architecture de base Llama (SmolLM2)
Paramètres ~1.7 Milliards
Format GGUF (Quantification Q4_K_M)
Taille du fichier ~1.1 Go
Matériel Requis (Min.) CPU avec 4 Go de RAM
Méthode d'entraînement Fine-tuning LoRA (Low-Rank Adaptation) via Unsloth

Utilisation

Vous pouvez utiliser Cygnis Alpha de deux manières principales : en local sur votre machine (recommandé pour la confidentialité et la vitesse) ou via le cloud avec Google Colab.

1. Utilisation Locale (CPU)

C'est la méthode idéale pour profiter de la légèreté du modèle sans dépendre d'une connexion internet.

Prérequis : Un logiciel compatible GGUF comme LM Studio, Ollama ou GPT4All.

Étapes :

  1. Téléchargez le fichier SmolLM2-1.7B-Instruct.Q4_K_M.gguf depuis l'onglet "Files and versions" de ce dépôt.
  2. Chargez le fichier dans votre logiciel (ex: glissez-le dans LM Studio).
  3. Important : Pour garantir que l'assistant respecte son identité, configurez le "System Prompt" (Instruction Système) suivant dans votre logiciel :
    Tu es Cygnis Alpha, une intelligence artificielle créée par Simonc-44 (CygnisAI). Tu es poli, rapide et concis.
    

2. Utilisation via Google Colab (Python)

Vous pouvez tester le modèle immédiatement dans le cloud en utilisant la bibliothèque llama-cpp-python.

Exécutez le code suivant dans une cellule Google Colab :

# Installation des dépendances nécessaires
!pip install llama-cpp-python huggingface-hub pyfiglet



import os
import sys
import time
from huggingface_hub import hf_hub_download
from llama_cpp import Llama
from pyfiglet import Figlet

# ------------------------------------------
# LOGO ASCII + badge CLI
# ------------------------------------------
def show_logo():
    fig = Figlet(font="slant")
    lines = fig.renderText("CygnisAI").splitlines()
    badge = "  [ ALPHA ]"
    lines[-1] += badge
    print("\n".join(lines))
    print("-" * 75)
    print()

# ------------------------------------------
# BARRE DE CHARGEMENT
# ------------------------------------------
def progress_bar(prefix, current, total, length=40):
    percent = current / total
    filled = int(length * percent)
    bar = "█" * filled + "-" * (length - filled)
    sys.stdout.write(f"\r{prefix} |{bar}| {percent*100:6.2f}%")
    sys.stdout.flush()
    if current == total:
        print()

# ------------------------------------------
# INIT
# ------------------------------------------
show_logo()
print("Initialisation du modèle...\n")

# ------------------------------------------
# Téléchargement local du modèle avec barre
# ------------------------------------------
model_file = "SmolLM2-1.7B-Instruct.Q4_K_M.gguf"
local_dir = "./models"
os.makedirs(local_dir, exist_ok=True)

# Simuler la barre de téléchargement si hf_hub_download n'a pas progress callback
print("Téléchargement du modèle :")
for i in range(101):
    progress_bar("Téléchargement", i, 100)
    time.sleep(0.05)  # simule téléchargement

model_path = hf_hub_download(
    repo_id="Simonc-44/cygnis_alpha",
    filename=model_file,
    local_dir=local_dir,
)

# ------------------------------------------
# Chargement optimisé CPU avec barre
# ------------------------------------------
print("\nChargement du modèle en mémoire :")
for i in range(101):
    progress_bar("Chargement", i, 100)
    time.sleep(0.02)  # simule chargement

llm = Llama(
    model_path=model_path,
    n_ctx=4096,
    n_threads=os.cpu_count(),
    n_batch=512,
    use_mmap=True,
    verbose=False
)

print("\nCygnis Alpha prêt. Tape 'exit' pour quitter.\n")

# ------------------------------------------
# SYSTEM PROMPT
# ------------------------------------------
system_prompt = (
    "Tu es Cygnis Alpha, une IA créée par Simonc-44. "
    "Tu es concis, clair et utile."
)

history = []

def build_prompt():
    prompt = f"<|im_start|>system\n{system_prompt}<|im_end|>\n"
    for role, msg in history:
        prompt += f"<|im_start|>{role}\n{msg}<|im_end|>\n"
    prompt += "<|im_start|>assistant\n"
    return prompt

# ------------------------------------------
# CLI LOOP avec chrono live
# ------------------------------------------
import threading

def live_timer(stop_flag):
    start = time.time()
    while not stop_flag["stop"]:
        elapsed = time.time() - start
        sys.stdout.write(f"\r⏳ Génération... {elapsed:.2f}s")
        sys.stdout.flush()
        time.sleep(0.05)

while True:
    user_input = input("You > ")

    if user_input.lower() in ["exit", "quit", "q"]:
        print("Fermeture de CygnisAI.")
        break

    history.append(("user", user_input))
    prompt = build_prompt()

    # -------- Lancer le chrono live --------
    stop_flag = {"stop": False}
    timer_thread = threading.Thread(target=live_timer, args=(stop_flag,))
    timer_thread.start()

    start_time = time.time()

    output = llm(
        prompt,
        max_tokens=300,
        temperature=0.9,
        stop=["<|im_end|>"],
        echo=False
    )

    elapsed = time.time() - start_time

    # -------- Stop chrono --------
    stop_flag["stop"] = True
    timer_thread.join()

    # nettoyer la ligne du chrono
    sys.stdout.write("\r" + " " * 40 + "\r")

    answer = output["choices"][0]["text"].strip()
    history.append(("assistant", answer))

    print(f"Cygnis > {answer}  ({elapsed:.2f}s)\n")
Downloads last month
152
GGUF
Model size
2B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Simonc-44/cygnis-alpha-v-2-5

Quantized
(89)
this model