import gradio as gr from huggingface_hub import hf_hub_download from llama_cpp import Llama # Téléchargement automatique du modèle depuis Hugging Face Hub model_path = hf_hub_download( repo_id="google/gemma-2b-it-GGUF", filename="gemma-2b-it-Q4_K_M.gguf", cache_dir="./model_cache" # dossier local pour stocker le modèle ) # Chargement du modèle en CPU llm = Llama(model_path=model_path, n_ctx=2048, n_threads=2) def chatbot(message, history): prompt = ( "Tu es un coach santé virtuel et empathique. " "Ton rôle est de créer un planning quotidien personnalisé pour aider " "l'utilisateur à rester en bonne santé. " "Le planning doit inclure : horaires de repas, suggestions alimentaires équilibrées, " "exercices adaptés, conseils de sommeil et hydratation. " "Ne fais pas de diagnostic médical et précise toujours que l'utilisateur doit consulter " "un médecin pour tout problème grave. Réponds avec bienveillance et clarté.\n\n" ) for human, bot in history: prompt += f"Utilisateur: {human}\nAssistant: {bot}\n" prompt += f"Utilisateur: {message}\nAssistant:" output = llm(prompt, max_tokens=300) return output["choices"][0]["text"] gr.ChatInterface(chatbot, title="Coach Santé Virtuel").launch()