Spaces:
Runtime error
Runtime error
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) | |