Code/pgpt/start-private-gpt-custom.sh
2025-05-27 17:21:49 +02:00

97 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# Script de démarrage pour Private-GPT avec Ollama personnalisé
# Permet de lancer facilement private-gpt avec des modèles d'IA personnalisés
set -e
# Répertoire courant où se trouve le script
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# Couleurs pour les messages
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Afficher les modèles disponibles
list_models() {
echo -e "${BLUE}Modèles Ollama disponibles:${NC}"
docker exec -it pgpt-ollama-cpu-1 ollama list
}
# Télécharger un nouveau modèle
download_model() {
if [ -z "$1" ]; then
echo -e "${RED}Erreur: Veuillez spécifier un nom de modèle${NC}"
echo "Exemple: $0 download llama3"
exit 1
fi
echo -e "${YELLOW}Téléchargement du modèle $1...${NC}"
docker exec -it pgpt-ollama-cpu-1 ollama pull "$1"
echo -e "${GREEN}Modèle $1 téléchargé avec succès${NC}"
}
# Arrêter les services
stop_services() {
echo -e "${YELLOW}Arrêt des services Private-GPT...${NC}"
docker compose -f docker-compose.yaml down
echo -e "${GREEN}Services arrêtés${NC}"
}
# Démarrer les services
start_services() {
local profile="$1"
if [ -z "$profile" ]; then
profile="ollama-cpu"
fi
echo -e "${YELLOW}Démarrage des services Private-GPT avec le profil $profile...${NC}"
docker compose -f docker-compose.yaml --profile "$profile" up -d
echo -e "${GREEN}Services démarrés avec succès${NC}"
echo -e "${BLUE}Interface web disponible sur: ${GREEN}http://localhost:8001${NC}"
}
# Afficher l'aide
show_help() {
echo -e "${BLUE}Script de démarrage pour Private-GPT avec Ollama${NC}"
echo ""
echo -e "Usage: $0 [commande]"
echo ""
echo "Commandes:"
echo " start [profile] Démarrer les services (profile: ollama-cpu (défaut), ollama-cuda)"
echo " stop Arrêter les services"
echo " list Lister les modèles Ollama disponibles"
echo " download <modèle> Télécharger un nouveau modèle Ollama"
echo " help Afficher cette aide"
echo ""
echo "Exemples:"
echo " $0 start Démarrer avec CPU (par défaut)"
echo " $0 start ollama-cuda Démarrer avec GPU (CUDA)"
echo " $0 download mistral Télécharger le modèle Mistral"
echo ""
}
# Traitement des commandes
case "$1" in
start)
start_services "$2"
;;
stop)
stop_services
;;
list)
list_models
;;
download)
download_model "$2"
;;
*)
show_help
;;
esac