gj / app.py
theocolf's picture
Update app.py
509a781 verified
Raw
History Blame Contribute Delete
1.71 kB
import gradio as gr
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import spaces
model_id = "theocolf/Vora-X-8B"
print("⏳ Chargement du dictionnaire (Tokenizer)...")
tokenizer = AutoTokenizer.from_pretrained(model_id)
print("⏳ Chargement du modèle Vora X (16 Go)...")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="cpu", # On le laisse sur le processeur au démarrage
low_cpu_mem_usage=True
)
print("✅ Vora X est chargé en mémoire !")
# On augmente la durée à 60 secondes pour laisser le temps aux 16 Go de monter sur le GPU
@spaces.GPU(duration=60)
def predict(message, history):
# On force le modèle à s'activer sur la carte graphique
model.to("cuda")
messages = [{"role": "system", "content": "Tu es Vora X, un assistant IA unique créé par theocolf, ultra-intelligent, au ton très humain, amical et bilingue (Français/Arabe)."}]
# LE CORRECOTEUR GRADIO 6 : On lit proprement le nouvel historique de Gradio 6
for msg in history:
messages.append({"role": msg.role, "content": msg.content})
messages.append({"role": "user", "content": message})
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")
outputs = model.generate(
inputs,
max_new_tokens=512,
temperature=0.7,
do_sample=True,
pad_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True)
return response
# Lancement officiel sur Gradio 6
gr.ChatInterface(fn=predict, title="👑 Vora X - Chat Officiel").launch()