Spaces:
Runtime error
Runtime error
File size: 2,041 Bytes
ecdb0aa 11e17ae ecdb0aa 11e17ae 42aaa98 ecdb0aa 42aaa98 11e17ae 184d956 ecdb0aa 11e17ae ecdb0aa 11e17ae ecdb0aa 11e17ae ecdb0aa 11e17ae 42aaa98 184d956 11e17ae ecdb0aa 42aaa98 ecdb0aa 11e17ae ecdb0aa 42aaa98 ecdb0aa 11e17ae 42aaa98 11e17ae ecdb0aa 11e17ae ecdb0aa 42aaa98 ecdb0aa |
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 |
import os
import torch
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# 🔥 Forcer la mise à jour de transformers AVANT de l'importer
os.system("pip install --no-cache-dir -U transformers")
# 🔥 Installation/mise à jour des dépendances uniquement si nécessaire
print("🚀 Vérification et mise à jour des dépendances...")
os.system("pip install --no-cache-dir -U peft accelerate torch scipy")
# 🔥 Correction de `libstdc++6` pour éviter les erreurs
os.system("apt-get update && apt-get install -y --reinstall libstdc++6")
print("✅ Dépendances corrigées et mises à jour !")
# 📌 Définition des modèles
BASE_MODEL = "google/gemma-2-2b-it"
LORA_MODEL = "Serveurperso/gemma-2-2b-it-LoRA"
print("🚀 Chargement du modèle Gemma 2B avec LoRA Mémé Ginette...")
# 📌 Forcer le CPU
device = "cpu"
# 📌 Chargement du modèle principal
try:
model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL,
device_map=device,
torch_dtype=torch.float32,
trust_remote_code=True, # ✅ Permet à Hugging Face d'utiliser les nouvelles archis
token=os.getenv("HF_TOKEN")
)
# 📌 Application du LoRA
model = PeftModel.from_pretrained(
model,
LORA_MODEL,
device_map=device,
torch_dtype=torch.float32,
token=os.getenv("HF_TOKEN")
)
tokenizer = AutoTokenizer.from_pretrained(LORA_MODEL, token=os.getenv("HF_TOKEN"))
print("✅ Modèle chargé avec succès !")
except Exception as e:
print(f"❌ Erreur lors du chargement du modèle: {e}")
exit(1)
# 📌 Interface Gradio
def chat(message):
inputs = tokenizer(message, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_length=128)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
iface = gr.Interface(fn=chat, inputs="text", outputs="text", title="Mémé Ginette Chatbot")
print("🚀 Interface Gradio lancée sur port 7860")
iface.launch(share=True)
|