|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
info() { |
|
|
echo -e "\e[32m[INFO]\e[0m $1" |
|
|
} |
|
|
|
|
|
|
|
|
error() { |
|
|
echo -e "\e[31m[ERREUR]\e[0m $1" |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
info "Étape 3: Création du script de démarrage du serveur..." |
|
|
mkdir -p server |
|
|
START_SCRIPT="server/start_server.sh" |
|
|
echo '#!/bin/bash' > "$START_SCRIPT" |
|
|
echo "MODEL_PATH=\"../models/qwen2.5-coder-1.5b-q8_0.gguf\"" >> "$START_SCRIPT" |
|
|
echo 'if [ ! -f "$MODEL_PATH" ]; then' >> "$START_SCRIPT" |
|
|
echo ' echo "Le modèle GGUF est introuvable à: $MODEL_PATH"' >> "$START_SCRIPT" |
|
|
echo ' exit 1' >> "$START_SCRIPT" |
|
|
echo 'fi' >> "$START_SCRIPT" |
|
|
echo '"../llama.cpp/build/bin/llama-server" \\' >> "$START_SCRIPT" |
|
|
echo " -m \"\$MODEL_PATH\" \\" >> "$START_SCRIPT" |
|
|
echo " --port 8080 \\" >> "$START_SCRIPT" |
|
|
echo " --host 0.0.0.0 \\" >> "$START_SCRIPT" |
|
|
echo " -c 4096 \\" >> "$START_SCRIPT" |
|
|
echo " -ngl 999 \\" >> "$START_SCRIPT" |
|
|
echo " --threads 8 \\" >> "$START_SCRIPT" |
|
|
echo ' > "logs/llama_server.log" 2>&1 &' >> "$START_SCRIPT" |
|
|
echo 'echo $! > "server/server.pid"' >> "$START_SCRIPT" |
|
|
chmod +x "$START_SCRIPT" |
|
|
info "Script de démarrage du serveur créé." |
|
|
|
|
|
|
|
|
info "Étape 4: Création du script d'arrêt du serveur..." |
|
|
STOP_SCRIPT="server/stop_server.sh" |
|
|
echo '#!/bin/bash' > "$STOP_SCRIPT" |
|
|
echo 'PID_FILE="server/server.pid"' >> "$STOP_SCRIPT" |
|
|
echo 'if [ -f "$PID_FILE" ]; then' >> "$STOP_SCRIPT" |
|
|
echo ' PID=$(cat "$PID_FILE")' >> "$STOP_SCRIPT" |
|
|
echo ' kill $PID' >> "$STOP_SCRIPT" |
|
|
echo ' rm "$PID_FILE"' >> "$STOP_SCRIPT" |
|
|
echo ' echo "Serveur llama.cpp arrêté."' >> "$STOP_SCRIPT" |
|
|
echo 'else' >> "$STOP_SCRIPT" |
|
|
echo ' echo "Aucun PID de serveur trouvé."' >> "$STOP_SCRIPT" |
|
|
echo 'fi' >> "$STOP_SCRIPT" |
|
|
chmod +x "$STOP_SCRIPT" |
|
|
info "Script d'arrêt du serveur créé." |
|
|
|
|
|
|
|
|
info "Étape 5: Lancement de l'application Streamlit..." |
|
|
streamlit run app.py |