48 lines
1.0 KiB
Bash
Executable File
48 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
CONTAINER_NAME="nim-llama-3.1-8b"
|
|
IMAGE="nvcr.io/nim/meta/llama-3.1-8b-instruct-dgx-spark:latest"
|
|
CACHE_DIR="/home/azurian/.cache/nim/llama-3.1-8b"
|
|
PORT="8000"
|
|
ENV_FILE="/root/.ngc-nim.env"
|
|
|
|
if [[ ! -f "$ENV_FILE" ]]; then
|
|
echo "Errore: manca $ENV_FILE"
|
|
echo "Il file deve contenere:"
|
|
echo "NGC_API_KEY=la_tua_chiave"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$CACHE_DIR"
|
|
chmod -R a+rwX "$CACHE_DIR"
|
|
|
|
docker rm -f "$CONTAINER_NAME" 2>/dev/null || true
|
|
|
|
echo "Avvio Llama 3.1 8B NIM per DGX Spark..."
|
|
|
|
docker run -d \
|
|
--name "$CONTAINER_NAME" \
|
|
--restart unless-stopped \
|
|
--runtime=nvidia \
|
|
--gpus all \
|
|
--ipc=host \
|
|
--shm-size=16G \
|
|
--env-file "$ENV_FILE" \
|
|
-e NIM_GPU_MEM_FRACTION=0.20 \
|
|
-v "$CACHE_DIR:/opt/nim/.cache" \
|
|
-p "${PORT}:8000" \
|
|
"$IMAGE"
|
|
|
|
echo
|
|
echo "Container avviato: $CONTAINER_NAME"
|
|
echo "Log:"
|
|
echo "docker logs -f $CONTAINER_NAME"
|
|
echo
|
|
echo "Health:"
|
|
echo "curl http://localhost:${PORT}/v1/health/ready"
|
|
echo
|
|
echo "Models:"
|
|
echo "curl -s http://localhost:${PORT}/v1/models | jq"
|