@mariozechner/pi 0.5.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +5 -2
- package/dist/commands/models.js.map +1 -1
- package/dist/scripts/model_run.sh +83 -0
- package/dist/scripts/pod_setup.sh +334 -0
- package/package.json +5 -4
- package/scripts/model_run.sh +83 -0
- package/scripts/pod_setup.sh +334 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AA0EA;;GAEG;AACH,eAAO,MAAM,UAAU,GACtB,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,SAAS;IACR,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,kBAuRD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAU,MAAM,MAAM,EAAE,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA0BtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAU,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA2B5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAU,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBAwEzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAU,MAAM,MAAM,EAAE,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA+BrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AA0EA;;GAEG;AACH,eAAO,MAAM,UAAU,GACtB,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,SAAS;IACR,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,kBAuRD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAU,MAAM,MAAM,EAAE,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA0BtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAU,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA2B5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAU,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBAwEzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAU,MAAM,MAAM,EAAE,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,kBA+BrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,qBA+J3B,CAAC"}
|
package/dist/commands/models.js
CHANGED
|
@@ -473,8 +473,11 @@ export const viewLogs = async (name, options) => {
|
|
|
473
473
|
* Show known models and their hardware requirements
|
|
474
474
|
*/
|
|
475
475
|
export const showKnownModels = async () => {
|
|
476
|
-
const
|
|
477
|
-
const
|
|
476
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
477
|
+
const __dirname = dirname(__filename);
|
|
478
|
+
const modelsJsonPath = join(__dirname, "..", "models.json");
|
|
479
|
+
const modelsJson = JSON.parse(readFileSync(modelsJsonPath, "utf-8"));
|
|
480
|
+
const models = modelsJson.models;
|
|
478
481
|
// Get active pod info if available
|
|
479
482
|
const activePod = getActivePod();
|
|
480
483
|
let podGpuCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Model runner script - runs sequentially, killed by pi stop
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# These values are replaced before upload by pi CLI
|
|
6
|
+
MODEL_ID="{{MODEL_ID}}"
|
|
7
|
+
NAME="{{NAME}}"
|
|
8
|
+
PORT="{{PORT}}"
|
|
9
|
+
VLLM_ARGS="{{VLLM_ARGS}}"
|
|
10
|
+
|
|
11
|
+
# Trap to ensure cleanup on exit and kill any child processes
|
|
12
|
+
cleanup() {
|
|
13
|
+
local exit_code=$?
|
|
14
|
+
echo "Model runner exiting with code $exit_code"
|
|
15
|
+
# Kill any child processes
|
|
16
|
+
pkill -P $$ 2>/dev/null || true
|
|
17
|
+
exit $exit_code
|
|
18
|
+
}
|
|
19
|
+
trap cleanup EXIT TERM INT
|
|
20
|
+
|
|
21
|
+
# Force colored output even when not a TTY
|
|
22
|
+
export FORCE_COLOR=1
|
|
23
|
+
export PYTHONUNBUFFERED=1
|
|
24
|
+
export TERM=xterm-256color
|
|
25
|
+
export RICH_FORCE_TERMINAL=1
|
|
26
|
+
export CLICOLOR_FORCE=1
|
|
27
|
+
|
|
28
|
+
# Source virtual environment
|
|
29
|
+
source /root/venv/bin/activate
|
|
30
|
+
|
|
31
|
+
echo "========================================="
|
|
32
|
+
echo "Model Run: $NAME"
|
|
33
|
+
echo "Model ID: $MODEL_ID"
|
|
34
|
+
echo "Port: $PORT"
|
|
35
|
+
if [ -n "$VLLM_ARGS" ]; then
|
|
36
|
+
echo "vLLM Args: $VLLM_ARGS"
|
|
37
|
+
fi
|
|
38
|
+
echo "========================================="
|
|
39
|
+
echo ""
|
|
40
|
+
|
|
41
|
+
# Download model (with color progress bars)
|
|
42
|
+
echo "Downloading model (will skip if cached)..."
|
|
43
|
+
HF_HUB_ENABLE_HF_TRANSFER=1 hf download "$MODEL_ID"
|
|
44
|
+
|
|
45
|
+
if [ $? -ne 0 ]; then
|
|
46
|
+
echo "❌ ERROR: Failed to download model" >&2
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
echo ""
|
|
51
|
+
echo "✅ Model download complete"
|
|
52
|
+
echo ""
|
|
53
|
+
|
|
54
|
+
# Build vLLM command
|
|
55
|
+
VLLM_CMD="vllm serve '$MODEL_ID' --port $PORT --api-key '$PI_API_KEY'"
|
|
56
|
+
if [ -n "$VLLM_ARGS" ]; then
|
|
57
|
+
VLLM_CMD="$VLLM_CMD $VLLM_ARGS"
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
echo "Starting vLLM server..."
|
|
61
|
+
echo "Command: $VLLM_CMD"
|
|
62
|
+
echo "========================================="
|
|
63
|
+
echo ""
|
|
64
|
+
|
|
65
|
+
# Run vLLM in background so we can monitor it
|
|
66
|
+
echo "Starting vLLM process..."
|
|
67
|
+
bash -c "$VLLM_CMD" &
|
|
68
|
+
VLLM_PID=$!
|
|
69
|
+
|
|
70
|
+
# Monitor the vLLM process
|
|
71
|
+
echo "Monitoring vLLM process (PID: $VLLM_PID)..."
|
|
72
|
+
wait $VLLM_PID
|
|
73
|
+
VLLM_EXIT_CODE=$?
|
|
74
|
+
|
|
75
|
+
if [ $VLLM_EXIT_CODE -ne 0 ]; then
|
|
76
|
+
echo "❌ ERROR: vLLM exited with code $VLLM_EXIT_CODE" >&2
|
|
77
|
+
# Make sure to exit the script command too
|
|
78
|
+
kill -TERM $$ 2>/dev/null || true
|
|
79
|
+
exit $VLLM_EXIT_CODE
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
echo "✅ vLLM exited normally"
|
|
83
|
+
exit 0
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# GPU pod bootstrap for vLLM deployment
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# Parse arguments passed from pi CLI
|
|
6
|
+
MOUNT_COMMAND=""
|
|
7
|
+
MODELS_PATH=""
|
|
8
|
+
HF_TOKEN=""
|
|
9
|
+
PI_API_KEY=""
|
|
10
|
+
VLLM_VERSION="release" # Default to release
|
|
11
|
+
|
|
12
|
+
while [[ $# -gt 0 ]]; do
|
|
13
|
+
case $1 in
|
|
14
|
+
--mount)
|
|
15
|
+
MOUNT_COMMAND="$2"
|
|
16
|
+
shift 2
|
|
17
|
+
;;
|
|
18
|
+
--models-path)
|
|
19
|
+
MODELS_PATH="$2"
|
|
20
|
+
shift 2
|
|
21
|
+
;;
|
|
22
|
+
--hf-token)
|
|
23
|
+
HF_TOKEN="$2"
|
|
24
|
+
shift 2
|
|
25
|
+
;;
|
|
26
|
+
--vllm-api-key)
|
|
27
|
+
PI_API_KEY="$2"
|
|
28
|
+
shift 2
|
|
29
|
+
;;
|
|
30
|
+
--vllm)
|
|
31
|
+
VLLM_VERSION="$2"
|
|
32
|
+
shift 2
|
|
33
|
+
;;
|
|
34
|
+
*)
|
|
35
|
+
echo "ERROR: Unknown option: $1" >&2
|
|
36
|
+
exit 1
|
|
37
|
+
;;
|
|
38
|
+
esac
|
|
39
|
+
done
|
|
40
|
+
|
|
41
|
+
# Validate required parameters
|
|
42
|
+
if [ -z "$HF_TOKEN" ]; then
|
|
43
|
+
echo "ERROR: HF_TOKEN is required" >&2
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
if [ -z "$PI_API_KEY" ]; then
|
|
48
|
+
echo "ERROR: PI_API_KEY is required" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
if [ -z "$MODELS_PATH" ]; then
|
|
53
|
+
echo "ERROR: MODELS_PATH is required" >&2
|
|
54
|
+
exit 1
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
echo "=== Starting pod setup ==="
|
|
58
|
+
|
|
59
|
+
# Install system dependencies
|
|
60
|
+
apt update -y
|
|
61
|
+
apt install -y python3-pip python3-venv git build-essential cmake ninja-build curl wget lsb-release htop pkg-config
|
|
62
|
+
|
|
63
|
+
# --- Install matching CUDA toolkit -------------------------------------------
|
|
64
|
+
echo "Checking CUDA driver version..."
|
|
65
|
+
DRIVER_CUDA_VERSION=$(nvidia-smi | grep "CUDA Version" | awk '{print $9}')
|
|
66
|
+
echo "Driver supports CUDA: $DRIVER_CUDA_VERSION"
|
|
67
|
+
|
|
68
|
+
# Check if nvcc exists and its version
|
|
69
|
+
if command -v nvcc &> /dev/null; then
|
|
70
|
+
NVCC_VERSION=$(nvcc --version | grep "release" | awk '{print $6}' | cut -d, -f1)
|
|
71
|
+
echo "Current nvcc version: $NVCC_VERSION"
|
|
72
|
+
else
|
|
73
|
+
NVCC_VERSION="none"
|
|
74
|
+
echo "nvcc not found"
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
# Install CUDA toolkit matching driver version if needed
|
|
78
|
+
if [[ "$NVCC_VERSION" != "$DRIVER_CUDA_VERSION" ]]; then
|
|
79
|
+
echo "Installing CUDA Toolkit $DRIVER_CUDA_VERSION to match driver..."
|
|
80
|
+
|
|
81
|
+
# Detect Ubuntu version
|
|
82
|
+
UBUNTU_VERSION=$(lsb_release -rs)
|
|
83
|
+
UBUNTU_CODENAME=$(lsb_release -cs)
|
|
84
|
+
|
|
85
|
+
echo "Detected Ubuntu $UBUNTU_VERSION ($UBUNTU_CODENAME)"
|
|
86
|
+
|
|
87
|
+
# Map Ubuntu version to NVIDIA repo path
|
|
88
|
+
if [[ "$UBUNTU_VERSION" == "24.04" ]]; then
|
|
89
|
+
REPO_PATH="ubuntu2404"
|
|
90
|
+
elif [[ "$UBUNTU_VERSION" == "22.04" ]]; then
|
|
91
|
+
REPO_PATH="ubuntu2204"
|
|
92
|
+
elif [[ "$UBUNTU_VERSION" == "20.04" ]]; then
|
|
93
|
+
REPO_PATH="ubuntu2004"
|
|
94
|
+
else
|
|
95
|
+
echo "Warning: Unsupported Ubuntu version $UBUNTU_VERSION, trying ubuntu2204"
|
|
96
|
+
REPO_PATH="ubuntu2204"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Add NVIDIA package repositories
|
|
100
|
+
wget https://developer.download.nvidia.com/compute/cuda/repos/${REPO_PATH}/x86_64/cuda-keyring_1.1-1_all.deb
|
|
101
|
+
dpkg -i cuda-keyring_1.1-1_all.deb
|
|
102
|
+
rm cuda-keyring_1.1-1_all.deb
|
|
103
|
+
apt-get update
|
|
104
|
+
|
|
105
|
+
# Install specific CUDA toolkit version
|
|
106
|
+
# Convert version format (12.9 -> 12-9)
|
|
107
|
+
CUDA_VERSION_APT=$(echo $DRIVER_CUDA_VERSION | sed 's/\./-/')
|
|
108
|
+
echo "Installing cuda-toolkit-${CUDA_VERSION_APT}..."
|
|
109
|
+
apt-get install -y cuda-toolkit-${CUDA_VERSION_APT}
|
|
110
|
+
|
|
111
|
+
# Add CUDA to PATH
|
|
112
|
+
export PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:$PATH
|
|
113
|
+
export LD_LIBRARY_PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:${LD_LIBRARY_PATH:-}
|
|
114
|
+
|
|
115
|
+
# Verify installation
|
|
116
|
+
nvcc --version
|
|
117
|
+
else
|
|
118
|
+
echo "CUDA toolkit $NVCC_VERSION matches driver version"
|
|
119
|
+
export PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:$PATH
|
|
120
|
+
export LD_LIBRARY_PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:${LD_LIBRARY_PATH:-}
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# --- Install uv (fast Python package manager) --------------------------------
|
|
124
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
125
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
126
|
+
|
|
127
|
+
# --- Install Python 3.12 if not available ------------------------------------
|
|
128
|
+
if ! command -v python3.12 &> /dev/null; then
|
|
129
|
+
echo "Python 3.12 not found. Installing via uv..."
|
|
130
|
+
uv python install 3.12
|
|
131
|
+
fi
|
|
132
|
+
|
|
133
|
+
# --- Clean up existing environments and caches -------------------------------
|
|
134
|
+
echo "Cleaning up existing environments and caches..."
|
|
135
|
+
|
|
136
|
+
# Remove existing venv for a clean installation
|
|
137
|
+
VENV="$HOME/venv"
|
|
138
|
+
if [ -d "$VENV" ]; then
|
|
139
|
+
echo "Removing existing virtual environment..."
|
|
140
|
+
rm -rf "$VENV"
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# Remove uv cache to ensure fresh installs
|
|
144
|
+
if [ -d "$HOME/.cache/uv" ]; then
|
|
145
|
+
echo "Clearing uv cache..."
|
|
146
|
+
rm -rf "$HOME/.cache/uv"
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
# Remove vLLM cache to avoid conflicts
|
|
150
|
+
if [ -d "$HOME/.cache/vllm" ]; then
|
|
151
|
+
echo "Clearing vLLM cache..."
|
|
152
|
+
rm -rf "$HOME/.cache/vllm"
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# --- Create and activate venv ------------------------------------------------
|
|
156
|
+
echo "Creating fresh virtual environment..."
|
|
157
|
+
uv venv --python 3.12 --seed "$VENV"
|
|
158
|
+
source "$VENV/bin/activate"
|
|
159
|
+
|
|
160
|
+
# --- Install PyTorch and vLLM ------------------------------------------------
|
|
161
|
+
echo "Installing vLLM and dependencies (version: $VLLM_VERSION)..."
|
|
162
|
+
case "$VLLM_VERSION" in
|
|
163
|
+
release)
|
|
164
|
+
echo "Installing vLLM release with PyTorch..."
|
|
165
|
+
# Install vLLM with automatic PyTorch backend selection
|
|
166
|
+
# vLLM will automatically install the correct PyTorch version
|
|
167
|
+
uv pip install vllm>=0.10.0 --torch-backend=auto || {
|
|
168
|
+
echo "ERROR: Failed to install vLLM"
|
|
169
|
+
exit 1
|
|
170
|
+
}
|
|
171
|
+
;;
|
|
172
|
+
nightly)
|
|
173
|
+
echo "Installing vLLM nightly with PyTorch..."
|
|
174
|
+
echo "This will install the latest nightly build of vLLM..."
|
|
175
|
+
|
|
176
|
+
# Install vLLM nightly with PyTorch
|
|
177
|
+
uv pip install -U vllm \
|
|
178
|
+
--torch-backend=auto \
|
|
179
|
+
--extra-index-url https://wheels.vllm.ai/nightly || {
|
|
180
|
+
echo "ERROR: Failed to install vLLM nightly"
|
|
181
|
+
exit 1
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
echo "vLLM nightly successfully installed!"
|
|
185
|
+
;;
|
|
186
|
+
gpt-oss)
|
|
187
|
+
echo "Installing GPT-OSS special build with PyTorch nightly..."
|
|
188
|
+
echo "WARNING: This build is ONLY for GPT-OSS models!"
|
|
189
|
+
echo "Installing PyTorch nightly and cutting-edge dependencies..."
|
|
190
|
+
|
|
191
|
+
# Convert CUDA version format for PyTorch (12.4 -> cu124)
|
|
192
|
+
PYTORCH_CUDA="cu$(echo $DRIVER_CUDA_VERSION | sed 's/\.//')"
|
|
193
|
+
echo "Using PyTorch nightly with ${PYTORCH_CUDA} (driver supports ${DRIVER_CUDA_VERSION})"
|
|
194
|
+
|
|
195
|
+
# The GPT-OSS build will pull PyTorch nightly and other dependencies
|
|
196
|
+
# via the extra index URLs. We don't pre-install torch here to avoid conflicts.
|
|
197
|
+
uv pip install --pre vllm==0.10.1+gptoss \
|
|
198
|
+
--extra-index-url https://wheels.vllm.ai/gpt-oss/ \
|
|
199
|
+
--extra-index-url https://download.pytorch.org/whl/nightly/${PYTORCH_CUDA} \
|
|
200
|
+
--index-strategy unsafe-best-match || {
|
|
201
|
+
echo "ERROR: Failed to install GPT-OSS vLLM build"
|
|
202
|
+
echo "This automatically installs PyTorch nightly with ${PYTORCH_CUDA}, Triton nightly, and other dependencies"
|
|
203
|
+
exit 1
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
# Install gpt-oss library for tool support
|
|
207
|
+
uv pip install gpt-oss || {
|
|
208
|
+
echo "WARNING: Failed to install gpt-oss library (needed for tool use)"
|
|
209
|
+
}
|
|
210
|
+
;;
|
|
211
|
+
*)
|
|
212
|
+
echo "ERROR: Unknown vLLM version: $VLLM_VERSION"
|
|
213
|
+
exit 1
|
|
214
|
+
;;
|
|
215
|
+
esac
|
|
216
|
+
|
|
217
|
+
# --- Install additional packages ---------------------------------------------
|
|
218
|
+
echo "Installing additional packages..."
|
|
219
|
+
uv pip install huggingface-hub psutil tensorrt hf_transfer
|
|
220
|
+
|
|
221
|
+
# --- FlashInfer installation (optional, improves performance) ----------------
|
|
222
|
+
echo "Attempting FlashInfer installation (optional)..."
|
|
223
|
+
if uv pip install flashinfer-python; then
|
|
224
|
+
echo "FlashInfer installed successfully"
|
|
225
|
+
else
|
|
226
|
+
echo "FlashInfer not available, using Flash Attention instead"
|
|
227
|
+
fi
|
|
228
|
+
|
|
229
|
+
# --- Mount storage if provided -----------------------------------------------
|
|
230
|
+
if [ -n "$MOUNT_COMMAND" ]; then
|
|
231
|
+
echo "Setting up mount..."
|
|
232
|
+
|
|
233
|
+
# Create mount point directory if it doesn't exist
|
|
234
|
+
mkdir -p "$MODELS_PATH"
|
|
235
|
+
|
|
236
|
+
# Execute the mount command
|
|
237
|
+
eval "$MOUNT_COMMAND" || {
|
|
238
|
+
echo "WARNING: Mount command failed, continuing without mount"
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
# Verify mount succeeded (optional, may not always be a mount point)
|
|
242
|
+
if mountpoint -q "$MODELS_PATH" 2>/dev/null; then
|
|
243
|
+
echo "Storage successfully mounted at $MODELS_PATH"
|
|
244
|
+
else
|
|
245
|
+
echo "Note: $MODELS_PATH is not a mount point (might be local storage)"
|
|
246
|
+
fi
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
# --- Model storage setup ------------------------------------------------------
|
|
250
|
+
echo ""
|
|
251
|
+
echo "=== Setting up model storage ==="
|
|
252
|
+
echo "Storage path: $MODELS_PATH"
|
|
253
|
+
|
|
254
|
+
# Check if the path exists and is writable
|
|
255
|
+
if [ ! -d "$MODELS_PATH" ]; then
|
|
256
|
+
echo "Creating model storage directory: $MODELS_PATH"
|
|
257
|
+
mkdir -p "$MODELS_PATH"
|
|
258
|
+
fi
|
|
259
|
+
|
|
260
|
+
if [ ! -w "$MODELS_PATH" ]; then
|
|
261
|
+
echo "ERROR: Model storage path is not writable: $MODELS_PATH"
|
|
262
|
+
echo "Please check permissions"
|
|
263
|
+
exit 1
|
|
264
|
+
fi
|
|
265
|
+
|
|
266
|
+
# Create the huggingface cache directory structure in the models path
|
|
267
|
+
mkdir -p "${MODELS_PATH}/huggingface/hub"
|
|
268
|
+
|
|
269
|
+
# Remove any existing cache directory or symlink
|
|
270
|
+
if [ -e ~/.cache/huggingface ] || [ -L ~/.cache/huggingface ]; then
|
|
271
|
+
echo "Removing existing ~/.cache/huggingface..."
|
|
272
|
+
rm -rf ~/.cache/huggingface 2>/dev/null || true
|
|
273
|
+
fi
|
|
274
|
+
|
|
275
|
+
# Create parent directory if needed
|
|
276
|
+
mkdir -p ~/.cache
|
|
277
|
+
|
|
278
|
+
# Create symlink from ~/.cache/huggingface to the models path
|
|
279
|
+
ln -s "${MODELS_PATH}/huggingface" ~/.cache/huggingface
|
|
280
|
+
echo "Created symlink: ~/.cache/huggingface -> ${MODELS_PATH}/huggingface"
|
|
281
|
+
|
|
282
|
+
# Verify the symlink works
|
|
283
|
+
if [ -d ~/.cache/huggingface/hub ]; then
|
|
284
|
+
echo "✓ Model storage configured successfully"
|
|
285
|
+
|
|
286
|
+
# Check available space
|
|
287
|
+
AVAILABLE_SPACE=$(df -h "$MODELS_PATH" | awk 'NR==2 {print $4}')
|
|
288
|
+
echo "Available space: $AVAILABLE_SPACE"
|
|
289
|
+
else
|
|
290
|
+
echo "ERROR: Could not verify model storage setup"
|
|
291
|
+
echo "The symlink was created but the target directory is not accessible"
|
|
292
|
+
exit 1
|
|
293
|
+
fi
|
|
294
|
+
|
|
295
|
+
# --- Configure environment ----------------------------------------------------
|
|
296
|
+
mkdir -p ~/.config/vllm
|
|
297
|
+
touch ~/.config/vllm/do_not_track
|
|
298
|
+
|
|
299
|
+
# Write environment to .bashrc for persistence
|
|
300
|
+
cat >> ~/.bashrc << EOF
|
|
301
|
+
|
|
302
|
+
# Pi vLLM environment
|
|
303
|
+
[ -d "\$HOME/venv" ] && source "\$HOME/venv/bin/activate"
|
|
304
|
+
export PATH="/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:\$HOME/.local/bin:\$PATH"
|
|
305
|
+
export LD_LIBRARY_PATH="/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:\${LD_LIBRARY_PATH:-}"
|
|
306
|
+
export HF_TOKEN="${HF_TOKEN}"
|
|
307
|
+
export PI_API_KEY="${PI_API_KEY}"
|
|
308
|
+
export HUGGING_FACE_HUB_TOKEN="${HF_TOKEN}"
|
|
309
|
+
export HF_HUB_ENABLE_HF_TRANSFER=1
|
|
310
|
+
export VLLM_NO_USAGE_STATS=1
|
|
311
|
+
export VLLM_DO_NOT_TRACK=1
|
|
312
|
+
export VLLM_ALLOW_LONG_MAX_MODEL_LEN=1
|
|
313
|
+
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
|
|
314
|
+
EOF
|
|
315
|
+
|
|
316
|
+
# Create log directory for vLLM
|
|
317
|
+
mkdir -p ~/.vllm_logs
|
|
318
|
+
|
|
319
|
+
# --- Output GPU info for pi CLI to parse -------------------------------------
|
|
320
|
+
echo ""
|
|
321
|
+
echo "===GPU_INFO_START==="
|
|
322
|
+
nvidia-smi --query-gpu=index,name,memory.total --format=csv,noheader | while IFS=, read -r id name memory; do
|
|
323
|
+
# Trim whitespace
|
|
324
|
+
id=$(echo "$id" | xargs)
|
|
325
|
+
name=$(echo "$name" | xargs)
|
|
326
|
+
memory=$(echo "$memory" | xargs)
|
|
327
|
+
echo "{\"id\": $id, \"name\": \"$name\", \"memory\": \"$memory\"}"
|
|
328
|
+
done
|
|
329
|
+
echo "===GPU_INFO_END==="
|
|
330
|
+
|
|
331
|
+
echo ""
|
|
332
|
+
echo "=== Setup complete ==="
|
|
333
|
+
echo "Pod is ready for vLLM deployments"
|
|
334
|
+
echo "Models will be cached at: $MODELS_PATH"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mariozechner/pi",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.4",
|
|
4
4
|
"description": "CLI tool for managing vLLM deployments on GPU pods",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"clean": "rm -rf dist",
|
|
11
|
-
"build": "tsc -p tsconfig.build.json && chmod +x dist/cli.js && cp src/models.json dist/",
|
|
11
|
+
"build": "tsc -p tsconfig.build.json && chmod +x dist/cli.js && cp src/models.json dist/ && cp -r scripts dist/",
|
|
12
12
|
"check": "biome check --write .",
|
|
13
13
|
"prepublishOnly": "npm run clean && npm run build"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"dist"
|
|
16
|
+
"dist",
|
|
17
|
+
"scripts"
|
|
17
18
|
],
|
|
18
19
|
"keywords": [
|
|
19
20
|
"llm",
|
|
@@ -33,7 +34,7 @@
|
|
|
33
34
|
"node": ">=20.0.0"
|
|
34
35
|
},
|
|
35
36
|
"dependencies": {
|
|
36
|
-
"@mariozechner/pi-agent": "^0.5.
|
|
37
|
+
"@mariozechner/pi-agent": "^0.5.4",
|
|
37
38
|
"chalk": "^5.5.0"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Model runner script - runs sequentially, killed by pi stop
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# These values are replaced before upload by pi CLI
|
|
6
|
+
MODEL_ID="{{MODEL_ID}}"
|
|
7
|
+
NAME="{{NAME}}"
|
|
8
|
+
PORT="{{PORT}}"
|
|
9
|
+
VLLM_ARGS="{{VLLM_ARGS}}"
|
|
10
|
+
|
|
11
|
+
# Trap to ensure cleanup on exit and kill any child processes
|
|
12
|
+
cleanup() {
|
|
13
|
+
local exit_code=$?
|
|
14
|
+
echo "Model runner exiting with code $exit_code"
|
|
15
|
+
# Kill any child processes
|
|
16
|
+
pkill -P $$ 2>/dev/null || true
|
|
17
|
+
exit $exit_code
|
|
18
|
+
}
|
|
19
|
+
trap cleanup EXIT TERM INT
|
|
20
|
+
|
|
21
|
+
# Force colored output even when not a TTY
|
|
22
|
+
export FORCE_COLOR=1
|
|
23
|
+
export PYTHONUNBUFFERED=1
|
|
24
|
+
export TERM=xterm-256color
|
|
25
|
+
export RICH_FORCE_TERMINAL=1
|
|
26
|
+
export CLICOLOR_FORCE=1
|
|
27
|
+
|
|
28
|
+
# Source virtual environment
|
|
29
|
+
source /root/venv/bin/activate
|
|
30
|
+
|
|
31
|
+
echo "========================================="
|
|
32
|
+
echo "Model Run: $NAME"
|
|
33
|
+
echo "Model ID: $MODEL_ID"
|
|
34
|
+
echo "Port: $PORT"
|
|
35
|
+
if [ -n "$VLLM_ARGS" ]; then
|
|
36
|
+
echo "vLLM Args: $VLLM_ARGS"
|
|
37
|
+
fi
|
|
38
|
+
echo "========================================="
|
|
39
|
+
echo ""
|
|
40
|
+
|
|
41
|
+
# Download model (with color progress bars)
|
|
42
|
+
echo "Downloading model (will skip if cached)..."
|
|
43
|
+
HF_HUB_ENABLE_HF_TRANSFER=1 hf download "$MODEL_ID"
|
|
44
|
+
|
|
45
|
+
if [ $? -ne 0 ]; then
|
|
46
|
+
echo "❌ ERROR: Failed to download model" >&2
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
echo ""
|
|
51
|
+
echo "✅ Model download complete"
|
|
52
|
+
echo ""
|
|
53
|
+
|
|
54
|
+
# Build vLLM command
|
|
55
|
+
VLLM_CMD="vllm serve '$MODEL_ID' --port $PORT --api-key '$PI_API_KEY'"
|
|
56
|
+
if [ -n "$VLLM_ARGS" ]; then
|
|
57
|
+
VLLM_CMD="$VLLM_CMD $VLLM_ARGS"
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
echo "Starting vLLM server..."
|
|
61
|
+
echo "Command: $VLLM_CMD"
|
|
62
|
+
echo "========================================="
|
|
63
|
+
echo ""
|
|
64
|
+
|
|
65
|
+
# Run vLLM in background so we can monitor it
|
|
66
|
+
echo "Starting vLLM process..."
|
|
67
|
+
bash -c "$VLLM_CMD" &
|
|
68
|
+
VLLM_PID=$!
|
|
69
|
+
|
|
70
|
+
# Monitor the vLLM process
|
|
71
|
+
echo "Monitoring vLLM process (PID: $VLLM_PID)..."
|
|
72
|
+
wait $VLLM_PID
|
|
73
|
+
VLLM_EXIT_CODE=$?
|
|
74
|
+
|
|
75
|
+
if [ $VLLM_EXIT_CODE -ne 0 ]; then
|
|
76
|
+
echo "❌ ERROR: vLLM exited with code $VLLM_EXIT_CODE" >&2
|
|
77
|
+
# Make sure to exit the script command too
|
|
78
|
+
kill -TERM $$ 2>/dev/null || true
|
|
79
|
+
exit $VLLM_EXIT_CODE
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
echo "✅ vLLM exited normally"
|
|
83
|
+
exit 0
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# GPU pod bootstrap for vLLM deployment
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# Parse arguments passed from pi CLI
|
|
6
|
+
MOUNT_COMMAND=""
|
|
7
|
+
MODELS_PATH=""
|
|
8
|
+
HF_TOKEN=""
|
|
9
|
+
PI_API_KEY=""
|
|
10
|
+
VLLM_VERSION="release" # Default to release
|
|
11
|
+
|
|
12
|
+
while [[ $# -gt 0 ]]; do
|
|
13
|
+
case $1 in
|
|
14
|
+
--mount)
|
|
15
|
+
MOUNT_COMMAND="$2"
|
|
16
|
+
shift 2
|
|
17
|
+
;;
|
|
18
|
+
--models-path)
|
|
19
|
+
MODELS_PATH="$2"
|
|
20
|
+
shift 2
|
|
21
|
+
;;
|
|
22
|
+
--hf-token)
|
|
23
|
+
HF_TOKEN="$2"
|
|
24
|
+
shift 2
|
|
25
|
+
;;
|
|
26
|
+
--vllm-api-key)
|
|
27
|
+
PI_API_KEY="$2"
|
|
28
|
+
shift 2
|
|
29
|
+
;;
|
|
30
|
+
--vllm)
|
|
31
|
+
VLLM_VERSION="$2"
|
|
32
|
+
shift 2
|
|
33
|
+
;;
|
|
34
|
+
*)
|
|
35
|
+
echo "ERROR: Unknown option: $1" >&2
|
|
36
|
+
exit 1
|
|
37
|
+
;;
|
|
38
|
+
esac
|
|
39
|
+
done
|
|
40
|
+
|
|
41
|
+
# Validate required parameters
|
|
42
|
+
if [ -z "$HF_TOKEN" ]; then
|
|
43
|
+
echo "ERROR: HF_TOKEN is required" >&2
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
if [ -z "$PI_API_KEY" ]; then
|
|
48
|
+
echo "ERROR: PI_API_KEY is required" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
if [ -z "$MODELS_PATH" ]; then
|
|
53
|
+
echo "ERROR: MODELS_PATH is required" >&2
|
|
54
|
+
exit 1
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
echo "=== Starting pod setup ==="
|
|
58
|
+
|
|
59
|
+
# Install system dependencies
|
|
60
|
+
apt update -y
|
|
61
|
+
apt install -y python3-pip python3-venv git build-essential cmake ninja-build curl wget lsb-release htop pkg-config
|
|
62
|
+
|
|
63
|
+
# --- Install matching CUDA toolkit -------------------------------------------
|
|
64
|
+
echo "Checking CUDA driver version..."
|
|
65
|
+
DRIVER_CUDA_VERSION=$(nvidia-smi | grep "CUDA Version" | awk '{print $9}')
|
|
66
|
+
echo "Driver supports CUDA: $DRIVER_CUDA_VERSION"
|
|
67
|
+
|
|
68
|
+
# Check if nvcc exists and its version
|
|
69
|
+
if command -v nvcc &> /dev/null; then
|
|
70
|
+
NVCC_VERSION=$(nvcc --version | grep "release" | awk '{print $6}' | cut -d, -f1)
|
|
71
|
+
echo "Current nvcc version: $NVCC_VERSION"
|
|
72
|
+
else
|
|
73
|
+
NVCC_VERSION="none"
|
|
74
|
+
echo "nvcc not found"
|
|
75
|
+
fi
|
|
76
|
+
|
|
77
|
+
# Install CUDA toolkit matching driver version if needed
|
|
78
|
+
if [[ "$NVCC_VERSION" != "$DRIVER_CUDA_VERSION" ]]; then
|
|
79
|
+
echo "Installing CUDA Toolkit $DRIVER_CUDA_VERSION to match driver..."
|
|
80
|
+
|
|
81
|
+
# Detect Ubuntu version
|
|
82
|
+
UBUNTU_VERSION=$(lsb_release -rs)
|
|
83
|
+
UBUNTU_CODENAME=$(lsb_release -cs)
|
|
84
|
+
|
|
85
|
+
echo "Detected Ubuntu $UBUNTU_VERSION ($UBUNTU_CODENAME)"
|
|
86
|
+
|
|
87
|
+
# Map Ubuntu version to NVIDIA repo path
|
|
88
|
+
if [[ "$UBUNTU_VERSION" == "24.04" ]]; then
|
|
89
|
+
REPO_PATH="ubuntu2404"
|
|
90
|
+
elif [[ "$UBUNTU_VERSION" == "22.04" ]]; then
|
|
91
|
+
REPO_PATH="ubuntu2204"
|
|
92
|
+
elif [[ "$UBUNTU_VERSION" == "20.04" ]]; then
|
|
93
|
+
REPO_PATH="ubuntu2004"
|
|
94
|
+
else
|
|
95
|
+
echo "Warning: Unsupported Ubuntu version $UBUNTU_VERSION, trying ubuntu2204"
|
|
96
|
+
REPO_PATH="ubuntu2204"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Add NVIDIA package repositories
|
|
100
|
+
wget https://developer.download.nvidia.com/compute/cuda/repos/${REPO_PATH}/x86_64/cuda-keyring_1.1-1_all.deb
|
|
101
|
+
dpkg -i cuda-keyring_1.1-1_all.deb
|
|
102
|
+
rm cuda-keyring_1.1-1_all.deb
|
|
103
|
+
apt-get update
|
|
104
|
+
|
|
105
|
+
# Install specific CUDA toolkit version
|
|
106
|
+
# Convert version format (12.9 -> 12-9)
|
|
107
|
+
CUDA_VERSION_APT=$(echo $DRIVER_CUDA_VERSION | sed 's/\./-/')
|
|
108
|
+
echo "Installing cuda-toolkit-${CUDA_VERSION_APT}..."
|
|
109
|
+
apt-get install -y cuda-toolkit-${CUDA_VERSION_APT}
|
|
110
|
+
|
|
111
|
+
# Add CUDA to PATH
|
|
112
|
+
export PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:$PATH
|
|
113
|
+
export LD_LIBRARY_PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:${LD_LIBRARY_PATH:-}
|
|
114
|
+
|
|
115
|
+
# Verify installation
|
|
116
|
+
nvcc --version
|
|
117
|
+
else
|
|
118
|
+
echo "CUDA toolkit $NVCC_VERSION matches driver version"
|
|
119
|
+
export PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:$PATH
|
|
120
|
+
export LD_LIBRARY_PATH=/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:${LD_LIBRARY_PATH:-}
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# --- Install uv (fast Python package manager) --------------------------------
|
|
124
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
125
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
126
|
+
|
|
127
|
+
# --- Install Python 3.12 if not available ------------------------------------
|
|
128
|
+
if ! command -v python3.12 &> /dev/null; then
|
|
129
|
+
echo "Python 3.12 not found. Installing via uv..."
|
|
130
|
+
uv python install 3.12
|
|
131
|
+
fi
|
|
132
|
+
|
|
133
|
+
# --- Clean up existing environments and caches -------------------------------
|
|
134
|
+
echo "Cleaning up existing environments and caches..."
|
|
135
|
+
|
|
136
|
+
# Remove existing venv for a clean installation
|
|
137
|
+
VENV="$HOME/venv"
|
|
138
|
+
if [ -d "$VENV" ]; then
|
|
139
|
+
echo "Removing existing virtual environment..."
|
|
140
|
+
rm -rf "$VENV"
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# Remove uv cache to ensure fresh installs
|
|
144
|
+
if [ -d "$HOME/.cache/uv" ]; then
|
|
145
|
+
echo "Clearing uv cache..."
|
|
146
|
+
rm -rf "$HOME/.cache/uv"
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
# Remove vLLM cache to avoid conflicts
|
|
150
|
+
if [ -d "$HOME/.cache/vllm" ]; then
|
|
151
|
+
echo "Clearing vLLM cache..."
|
|
152
|
+
rm -rf "$HOME/.cache/vllm"
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# --- Create and activate venv ------------------------------------------------
|
|
156
|
+
echo "Creating fresh virtual environment..."
|
|
157
|
+
uv venv --python 3.12 --seed "$VENV"
|
|
158
|
+
source "$VENV/bin/activate"
|
|
159
|
+
|
|
160
|
+
# --- Install PyTorch and vLLM ------------------------------------------------
|
|
161
|
+
echo "Installing vLLM and dependencies (version: $VLLM_VERSION)..."
|
|
162
|
+
case "$VLLM_VERSION" in
|
|
163
|
+
release)
|
|
164
|
+
echo "Installing vLLM release with PyTorch..."
|
|
165
|
+
# Install vLLM with automatic PyTorch backend selection
|
|
166
|
+
# vLLM will automatically install the correct PyTorch version
|
|
167
|
+
uv pip install vllm>=0.10.0 --torch-backend=auto || {
|
|
168
|
+
echo "ERROR: Failed to install vLLM"
|
|
169
|
+
exit 1
|
|
170
|
+
}
|
|
171
|
+
;;
|
|
172
|
+
nightly)
|
|
173
|
+
echo "Installing vLLM nightly with PyTorch..."
|
|
174
|
+
echo "This will install the latest nightly build of vLLM..."
|
|
175
|
+
|
|
176
|
+
# Install vLLM nightly with PyTorch
|
|
177
|
+
uv pip install -U vllm \
|
|
178
|
+
--torch-backend=auto \
|
|
179
|
+
--extra-index-url https://wheels.vllm.ai/nightly || {
|
|
180
|
+
echo "ERROR: Failed to install vLLM nightly"
|
|
181
|
+
exit 1
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
echo "vLLM nightly successfully installed!"
|
|
185
|
+
;;
|
|
186
|
+
gpt-oss)
|
|
187
|
+
echo "Installing GPT-OSS special build with PyTorch nightly..."
|
|
188
|
+
echo "WARNING: This build is ONLY for GPT-OSS models!"
|
|
189
|
+
echo "Installing PyTorch nightly and cutting-edge dependencies..."
|
|
190
|
+
|
|
191
|
+
# Convert CUDA version format for PyTorch (12.4 -> cu124)
|
|
192
|
+
PYTORCH_CUDA="cu$(echo $DRIVER_CUDA_VERSION | sed 's/\.//')"
|
|
193
|
+
echo "Using PyTorch nightly with ${PYTORCH_CUDA} (driver supports ${DRIVER_CUDA_VERSION})"
|
|
194
|
+
|
|
195
|
+
# The GPT-OSS build will pull PyTorch nightly and other dependencies
|
|
196
|
+
# via the extra index URLs. We don't pre-install torch here to avoid conflicts.
|
|
197
|
+
uv pip install --pre vllm==0.10.1+gptoss \
|
|
198
|
+
--extra-index-url https://wheels.vllm.ai/gpt-oss/ \
|
|
199
|
+
--extra-index-url https://download.pytorch.org/whl/nightly/${PYTORCH_CUDA} \
|
|
200
|
+
--index-strategy unsafe-best-match || {
|
|
201
|
+
echo "ERROR: Failed to install GPT-OSS vLLM build"
|
|
202
|
+
echo "This automatically installs PyTorch nightly with ${PYTORCH_CUDA}, Triton nightly, and other dependencies"
|
|
203
|
+
exit 1
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
# Install gpt-oss library for tool support
|
|
207
|
+
uv pip install gpt-oss || {
|
|
208
|
+
echo "WARNING: Failed to install gpt-oss library (needed for tool use)"
|
|
209
|
+
}
|
|
210
|
+
;;
|
|
211
|
+
*)
|
|
212
|
+
echo "ERROR: Unknown vLLM version: $VLLM_VERSION"
|
|
213
|
+
exit 1
|
|
214
|
+
;;
|
|
215
|
+
esac
|
|
216
|
+
|
|
217
|
+
# --- Install additional packages ---------------------------------------------
|
|
218
|
+
echo "Installing additional packages..."
|
|
219
|
+
uv pip install huggingface-hub psutil tensorrt hf_transfer
|
|
220
|
+
|
|
221
|
+
# --- FlashInfer installation (optional, improves performance) ----------------
|
|
222
|
+
echo "Attempting FlashInfer installation (optional)..."
|
|
223
|
+
if uv pip install flashinfer-python; then
|
|
224
|
+
echo "FlashInfer installed successfully"
|
|
225
|
+
else
|
|
226
|
+
echo "FlashInfer not available, using Flash Attention instead"
|
|
227
|
+
fi
|
|
228
|
+
|
|
229
|
+
# --- Mount storage if provided -----------------------------------------------
|
|
230
|
+
if [ -n "$MOUNT_COMMAND" ]; then
|
|
231
|
+
echo "Setting up mount..."
|
|
232
|
+
|
|
233
|
+
# Create mount point directory if it doesn't exist
|
|
234
|
+
mkdir -p "$MODELS_PATH"
|
|
235
|
+
|
|
236
|
+
# Execute the mount command
|
|
237
|
+
eval "$MOUNT_COMMAND" || {
|
|
238
|
+
echo "WARNING: Mount command failed, continuing without mount"
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
# Verify mount succeeded (optional, may not always be a mount point)
|
|
242
|
+
if mountpoint -q "$MODELS_PATH" 2>/dev/null; then
|
|
243
|
+
echo "Storage successfully mounted at $MODELS_PATH"
|
|
244
|
+
else
|
|
245
|
+
echo "Note: $MODELS_PATH is not a mount point (might be local storage)"
|
|
246
|
+
fi
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
# --- Model storage setup ------------------------------------------------------
|
|
250
|
+
echo ""
|
|
251
|
+
echo "=== Setting up model storage ==="
|
|
252
|
+
echo "Storage path: $MODELS_PATH"
|
|
253
|
+
|
|
254
|
+
# Check if the path exists and is writable
|
|
255
|
+
if [ ! -d "$MODELS_PATH" ]; then
|
|
256
|
+
echo "Creating model storage directory: $MODELS_PATH"
|
|
257
|
+
mkdir -p "$MODELS_PATH"
|
|
258
|
+
fi
|
|
259
|
+
|
|
260
|
+
if [ ! -w "$MODELS_PATH" ]; then
|
|
261
|
+
echo "ERROR: Model storage path is not writable: $MODELS_PATH"
|
|
262
|
+
echo "Please check permissions"
|
|
263
|
+
exit 1
|
|
264
|
+
fi
|
|
265
|
+
|
|
266
|
+
# Create the huggingface cache directory structure in the models path
|
|
267
|
+
mkdir -p "${MODELS_PATH}/huggingface/hub"
|
|
268
|
+
|
|
269
|
+
# Remove any existing cache directory or symlink
|
|
270
|
+
if [ -e ~/.cache/huggingface ] || [ -L ~/.cache/huggingface ]; then
|
|
271
|
+
echo "Removing existing ~/.cache/huggingface..."
|
|
272
|
+
rm -rf ~/.cache/huggingface 2>/dev/null || true
|
|
273
|
+
fi
|
|
274
|
+
|
|
275
|
+
# Create parent directory if needed
|
|
276
|
+
mkdir -p ~/.cache
|
|
277
|
+
|
|
278
|
+
# Create symlink from ~/.cache/huggingface to the models path
|
|
279
|
+
ln -s "${MODELS_PATH}/huggingface" ~/.cache/huggingface
|
|
280
|
+
echo "Created symlink: ~/.cache/huggingface -> ${MODELS_PATH}/huggingface"
|
|
281
|
+
|
|
282
|
+
# Verify the symlink works
|
|
283
|
+
if [ -d ~/.cache/huggingface/hub ]; then
|
|
284
|
+
echo "✓ Model storage configured successfully"
|
|
285
|
+
|
|
286
|
+
# Check available space
|
|
287
|
+
AVAILABLE_SPACE=$(df -h "$MODELS_PATH" | awk 'NR==2 {print $4}')
|
|
288
|
+
echo "Available space: $AVAILABLE_SPACE"
|
|
289
|
+
else
|
|
290
|
+
echo "ERROR: Could not verify model storage setup"
|
|
291
|
+
echo "The symlink was created but the target directory is not accessible"
|
|
292
|
+
exit 1
|
|
293
|
+
fi
|
|
294
|
+
|
|
295
|
+
# --- Configure environment ----------------------------------------------------
|
|
296
|
+
mkdir -p ~/.config/vllm
|
|
297
|
+
touch ~/.config/vllm/do_not_track
|
|
298
|
+
|
|
299
|
+
# Write environment to .bashrc for persistence
|
|
300
|
+
cat >> ~/.bashrc << EOF
|
|
301
|
+
|
|
302
|
+
# Pi vLLM environment
|
|
303
|
+
[ -d "\$HOME/venv" ] && source "\$HOME/venv/bin/activate"
|
|
304
|
+
export PATH="/usr/local/cuda-${DRIVER_CUDA_VERSION}/bin:\$HOME/.local/bin:\$PATH"
|
|
305
|
+
export LD_LIBRARY_PATH="/usr/local/cuda-${DRIVER_CUDA_VERSION}/lib64:\${LD_LIBRARY_PATH:-}"
|
|
306
|
+
export HF_TOKEN="${HF_TOKEN}"
|
|
307
|
+
export PI_API_KEY="${PI_API_KEY}"
|
|
308
|
+
export HUGGING_FACE_HUB_TOKEN="${HF_TOKEN}"
|
|
309
|
+
export HF_HUB_ENABLE_HF_TRANSFER=1
|
|
310
|
+
export VLLM_NO_USAGE_STATS=1
|
|
311
|
+
export VLLM_DO_NOT_TRACK=1
|
|
312
|
+
export VLLM_ALLOW_LONG_MAX_MODEL_LEN=1
|
|
313
|
+
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
|
|
314
|
+
EOF
|
|
315
|
+
|
|
316
|
+
# Create log directory for vLLM
|
|
317
|
+
mkdir -p ~/.vllm_logs
|
|
318
|
+
|
|
319
|
+
# --- Output GPU info for pi CLI to parse -------------------------------------
|
|
320
|
+
echo ""
|
|
321
|
+
echo "===GPU_INFO_START==="
|
|
322
|
+
nvidia-smi --query-gpu=index,name,memory.total --format=csv,noheader | while IFS=, read -r id name memory; do
|
|
323
|
+
# Trim whitespace
|
|
324
|
+
id=$(echo "$id" | xargs)
|
|
325
|
+
name=$(echo "$name" | xargs)
|
|
326
|
+
memory=$(echo "$memory" | xargs)
|
|
327
|
+
echo "{\"id\": $id, \"name\": \"$name\", \"memory\": \"$memory\"}"
|
|
328
|
+
done
|
|
329
|
+
echo "===GPU_INFO_END==="
|
|
330
|
+
|
|
331
|
+
echo ""
|
|
332
|
+
echo "=== Setup complete ==="
|
|
333
|
+
echo "Pod is ready for vLLM deployments"
|
|
334
|
+
echo "Models will be cached at: $MODELS_PATH"
|