Adapters
finance
joseififif commited on
Commit
fed055e
·
verified ·
1 Parent(s): f54764a

Create scripts/deploy.sh

Browse files
Files changed (1) hide show
  1. scripts/deploy.sh +128 -0
scripts/deploy.sh ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # Script de despliegue completo para Diamond AI Platform
4
+
5
+ set -e # Exit on error
6
+
7
+ echo "🚀 Iniciando despliegue de Diamond AI Platform..."
8
+
9
+ # Variables de configuración
10
+ ENVIRONMENT=${1:-production}
11
+ MODEL_NAME="wizardlm-7b-uncensored"
12
+ SOLANA_NETWORK="mainnet-beta"
13
+
14
+ # Colores para output
15
+ GREEN='\033[0;32m'
16
+ RED='\033[0;31m'
17
+ NC='\033[0m' # No Color
18
+
19
+ # Función para verificar comandos
20
+ check_command() {
21
+ if ! command -v $1 &> /dev/null; then
22
+ echo -e "${RED}Error: $1 no está instalado${NC}"
23
+ exit 1
24
+ fi
25
+ }
26
+
27
+ # Verificar dependencias
28
+ echo "📦 Verificando dependencias..."
29
+ check_command docker
30
+ check_command docker-compose
31
+ check_command nvidia-docker
32
+ check_command solana
33
+ check_command python3
34
+
35
+ # Verificar GPUs disponibles
36
+ echo "🎮 Verificando GPUs..."
37
+ if ! nvidia-smi &> /dev/null; then
38
+ echo -e "${RED}Error: No se detectaron GPUs NVIDIA${NC}"
39
+ exit 1
40
+ fi
41
+
42
+ # Configurar entorno
43
+ echo "⚙️ Configurando entorno $ENVIRONMENT..."
44
+ export ENVIRONMENT=$ENVIRONMENT
45
+ export SOLANA_NETWORK=$SOLANA_NETWORK
46
+
47
+ # Crear directorios necesarios
48
+ echo "📁 Creando estructura de directorios..."
49
+ mkdir -p data/{models,datasets,logs}
50
+ mkdir -p triton_models/$MODEL_NAME
51
+ mkdir -p prometheus_data grafana_data
52
+
53
+ # Descargar modelo WizardLM
54
+ echo "🤖 Descargando modelo $MODEL_NAME..."
55
+ if [ ! -d "data/models/$MODEL_NAME" ]; then
56
+ python3 scripts/download_model.py \
57
+ --model-name $MODEL_NAME \
58
+ --output-dir data/models/$MODEL_NAME \
59
+ --quantization fp16
60
+ fi
61
+
62
+ # Convertir modelo a formato Tritón
63
+ echo "🔄 Convirtiendo modelo a formato Tritón..."
64
+ python3 scripts/convert_to_triton.py \
65
+ --input data/models/$MODEL_NAME \
66
+ --output triton_models/$MODEL_NAME \
67
+ --model-type gpt \
68
+ --dtype fp16
69
+
70
+ # Configurar Tritón
71
+ echo "🎯 Configurando Tritón Inference Server..."
72
+ cp config/triton/* triton_models/
73
+
74
+ # Inicializar base de datos
75
+ echo "🗄️ Inicializando base de datos..."
76
+ docker-compose up -d postgres
77
+ sleep 10 # Esperar que PostgreSQL inicie
78
+
79
+ # Ejecutar migraciones
80
+ echo "🔄 Ejecutando migraciones de base de datos..."
81
+ docker-compose exec backend python -m alembic upgrade head
82
+
83
+ # Verificar balance de tokens de la plataforma
84
+ echo "💰 Verificando tokens DIAMANTE de la plataforma..."
85
+ SOLANA_BALANCE=$(solana balance --url $SOLANA_NETWORK 2>/dev/null || echo "0 SOL")
86
+ echo "Balance de plataforma: $SOLANA_BALANCE"
87
+
88
+ # Iniciar todos los servicios
89
+ echo "🚀 Iniciando todos los servicios..."
90
+ docker-compose up -d
91
+
92
+ # Esperar que los servicios estén listos
93
+ echo "⏳ Esperando que los servicios estén listos..."
94
+ sleep 30
95
+
96
+ # Verificar salud de los servicios
97
+ echo "🏥 Verificando salud de los servicios..."
98
+ for service in triton-server backend postgres redis; do
99
+ if docker-compose ps $service | grep -q "Up"; then
100
+ echo -e "${GREEN}✓ $service está en ejecución${NC}"
101
+ else
102
+ echo -e "${RED}✗ $service no está ejecutándose${NC}"
103
+ exit 1
104
+ fi
105
+ done
106
+
107
+ # Inicializar tokens de la plataforma
108
+ echo "💎 Inicializando tokens DIAMANTE..."
109
+ docker-compose exec backend python scripts/init_tokens.py
110
+
111
+ # Ejecutar tests
112
+ echo "🧪 Ejecutando tests..."
113
+ docker-compose exec backend python -m pytest tests/ -v
114
+
115
+ echo -e "${GREEN}✅ Despliegue completado exitosamente!${NC}"
116
+ echo ""
117
+ echo "🌐 URLs de acceso:"
118
+ echo " Frontend: http://localhost:3000"
119
+ echo " API: http://localhost:8080"
120
+ echo " Tritón: http://localhost:8000"
121
+ echo " Grafana: http://localhost:3001"
122
+ echo " Prometheus: http://localhost:9090"
123
+ echo ""
124
+ echo "📋 Comandos útiles:"
125
+ echo " Ver logs: docker-compose logs -f"
126
+ echo " Detener: docker-compose down"
127
+ echo " Reiniciar: docker-compose restart"
128
+ echo " Actualizar: ./scripts/update.sh"