97 lines
2.6 KiB
Bash
Executable File
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
|