YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

Llama 3 Domain Name Generator (LoRA fine-tuned)

Ce modèle est une version fine-tunée de NousResearch/Meta-Llama-3-8B pour la génération de noms de domaine disponibles pour des entreprises.


🚀 Utilisation rapide

from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import PeftModel
import torch

# Identifiants du modèle
peft_model_id = "Thehunter99/LLama3.A"
base_model_id = "NousResearch/Meta-Llama-3-8B"

# Device
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tokenizer
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
tokenizer.pad_token = tokenizer.eos_token

# Config QLoRA (optionnel)
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16 if device == "cuda" else torch.float32,
    bnb_4bit_use_double_quant=True,
)

# Charger le modèle de base
base_model = AutoModelForCausalLM.from_pretrained(
    base_model_id,
    quantization_config=bnb_config if device == "cuda" else None,
    device_map="auto" if device == "cuda" else None,
    torch_dtype=torch.bfloat16 if device == "cuda" else torch.float32
)

# Charger l'adapter LoRA
model = PeftModel.from_pretrained(base_model, peft_model_id)
model.eval()
if device == "cpu":
    model = model.to("cpu")

# Fonction d'inférence
def generate_domains(prompt, max_new_tokens=50, temperature=0.7):
    inputs = tokenizer(prompt, return_tensors="pt").to(device)
    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_new_tokens,
            do_sample=True,
            temperature=temperature
        )
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Exemple de prompt (à respecter strictement)
prompt = """<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Generate available domain names for businesses. Use only .com, .io, .app, .co TLDs.
Output format: comma-separated domains<|eot_id|>
<|start_header_id|>user<|end_header_id|>
organic bakery in berlin<|eot_id|>
<|start_header_id|>assistant<|end_header_id|>"""

result = generate_domains(prompt, max_new_tokens=30, temperature=0.1)
print(result)

📝 Format du prompt d’inférence

Respectez exactement ce format :

<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Generate available domain names for businesses. Use only .com, .io, .app, .co TLDs.
Output format: comma-separated domains<|eot_id|>
<|start_header_id|>user<|end_header_id|>
[description de l'entreprise]<|eot_id|>
<|start_header_id|>assistant<|end_header_id|>

Exemple :

<|begin_of_text|><|start_header_id|>system<|end_header_id|>
Generate available domain names for businesses. Use only .com, .io, .app, .co TLDs.
Output format: comma-separated domains<|eot_id|>
<|start_header_id|>user<|end_header_id|>
eco-friendly coffee shop in Paris<|eot_id|>
<|start_header_id|>assistant<|end_header_id|>

📋 Conseils

  • Utilisez le même prompt que ci-dessus pour de meilleurs résultats.
  • Le modèle retourne une liste de domaines séparés par des virgules.
  • Pour des résultats reproductibles, utilisez temperature=0.1.

📚 Dataset d’entraînement

Le modèle a été fine-tuné sur un dataset synthétique de descriptions d’entreprises et de suggestions de domaines.


Questions

Pour toute question ou suggestion, ouvrez une issue sur le repo ou contactez-moi via mon e-mail: achrflassoued17@gmail.com.


Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support