Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from unsloth import FastLanguageModel | |
| import torch | |
| # ========================= | |
| # Charger le modèle BuccAI depuis Hugging Face | |
| # ========================= | |
| print("⏳ Chargement du modèle BuccAI...") | |
| model, tokenizer = FastLanguageModel.from_pretrained( | |
| model_name="jfand/BuccAI", # ⚡ ton repo modèle | |
| max_seq_length=2048, | |
| load_in_4bit=True, # car version quantifiée | |
| ) | |
| print("✅ Modèle chargé avec succès !") | |
| # ========================= | |
| # Fonction de génération | |
| # ========================= | |
| def generate_response(prompt, max_tokens=400): | |
| try: | |
| inputs = tokenizer(prompt, return_tensors="pt").to("cuda" if torch.cuda.is_available() else "cpu") | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=max_tokens, | |
| temperature=0.7, | |
| top_p=0.9, | |
| do_sample=True, | |
| repetition_penalty=1.15, | |
| ) | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return response.strip() | |
| except Exception as e: | |
| return f"⚠️ Erreur: {str(e)}" | |
| # ========================= | |
| # Interface Gradio | |
| # ========================= | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 🦷 BuccAI - Assistant Dentaire (Makandal Technologies)") | |
| with gr.Row(): | |
| with gr.Column(scale=3): | |
| user_input = gr.Textbox( | |
| label="💬 Posez votre question dentaire", | |
| placeholder="Ex: Quels sont les symptômes de la gingivite ?", | |
| lines=3 | |
| ) | |
| max_tokens = gr.Slider(100, 1000, value=400, step=50, label="Max tokens") | |
| submit = gr.Button("Générer la réponse") | |
| with gr.Column(scale=4): | |
| output = gr.Textbox(label="🤖 Réponse de BuccAI", lines=15) | |
| submit.click(fn=generate_response, inputs=[user_input, max_tokens], outputs=output) | |
| demo.launch() | |