File size: 1,326 Bytes
7c8690b
fe60596
d5f1713
 
fe60596
 
 
 
 
 
d5f1713
fe60596
d5f1713
 
 
 
 
 
 
 
 
 
 
 
fe60596
d5f1713
 
 
fe60596
d5f1713
 
 
 
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
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()