File size: 1,589 Bytes
a1c3abd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370df61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a1c3abd
 
 
 
 
 
370df61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a1c3abd
 
 
 
 
c8ca1ef
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash
# Fonction pour afficher des messages informatifs en vert
info() {
    echo -e "\e[32m[INFO]\e[0m $1"
}

# Fonction pour afficher des messages d'erreur en rouge
error() {
    echo -e "\e[31m[ERREUR]\e[0m $1"
}

# --- Début du script ---

# Étape 1: Création du script de démarrage du serveur
info "Étape 1: Création du script de démarrage du serveur..."
mkdir -p server
START_SCRIPT="server/start_server.sh"

# Utilisation d'un here document pour une génération sans erreur
cat > "$START_SCRIPT" << EOF
#!/bin/bash
MODEL_PATH="/app/models/qwen2.5-coder-1.5b-q8_0.gguf"

if [ ! -f "\$MODEL_PATH" ]; then
    echo "Le modèle GGUF est introuvable à: \$MODEL_PATH"
    exit 1
fi

"/app/llama.cpp/build/bin/llama-server" \\
  -m "\$MODEL_PATH" \\
  --port 8080 \\
  --host 0.0.0.0 \\
  -c 4096 \\
  -ngl 999 \\
  --threads 8 \\
  > "logs/llama_server.log" 2>&1 &

echo \$! > "server/server.pid"
EOF

chmod +x "$START_SCRIPT"
info "Script de démarrage du serveur créé."

# Étape 2: Création du script d'arrêt du serveur
info "Étape 2: Création du script d'arrêt du serveur..."
STOP_SCRIPT="server/stop_server.sh"

cat > "$STOP_SCRIPT" << EOF
#!/bin/bash
PID_FILE="server/server.pid"

if [ -f "\$PID_FILE" ]; then
    PID=\$(cat "\$PID_FILE")
    kill \$PID
    rm "\$PID_FILE"
    echo "Serveur llama.cpp arrêté."
else
    echo "Aucun PID de serveur trouvé."
fi
EOF

chmod +x "$STOP_SCRIPT"
info "Script d'arrêt du serveur créé."

# Étape 3: Lancement de l'application Streamlit
info "Étape 3: Lancement de l'application Streamlit..."
streamlit run app.py