|
|
#!/bin/bash |
|
|
|
|
|
info() { |
|
|
echo -e "\e[32m[INFO]\e[0m $1" |
|
|
} |
|
|
|
|
|
|
|
|
error() { |
|
|
echo -e "\e[31m[ERREUR]\e[0m $1" |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info "Étape 1: Création du script de démarrage du serveur..." |
|
|
mkdir -p server |
|
|
START_SCRIPT="server/start_server.sh" |
|
|
|
|
|
|
|
|
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éé." |
|
|
|
|
|
|
|
|
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éé." |
|
|
|
|
|
|
|
|
info "Étape 3: Lancement de l'application Streamlit..." |
|
|
streamlit run app.py |