File size: 1,641 Bytes
05ebc17 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#!/bin/bash
# Configuration: Model file path and expected SHA-256 checksum
MODEL_PATH="polaris/model/sft_loop.pt"
EXPECTED_HASH="cae9e9a28e5c3ff0d328934c066d275371d5301db084a914431198134f66ada2"
# Pre-check: Verify if the model file exists with valid checksum
if [ -f "$MODEL_PATH" ]; then
# Calculate current file hash
ACTUAL_HASH=$(sha256sum "$MODEL_PATH" | awk '{print $1}')
# Hash validation logic
if [ "$ACTUAL_HASH" = "$EXPECTED_HASH" ]; then
echo "✅ Valid model file detected, skipping download"
pip install --use-pep517 --editable .
echo "✅ Polaris installation completed"
exit 0
else
# Security measure: Remove corrupted/invalid file
echo "⚠️ Invalid file hash detected, triggering re-download"
rm -f "$MODEL_PATH"
fi
fi
# Model download process
echo "⏳ Downloading model from Hugging Face..."
wget -O "$MODEL_PATH" "https://huggingface.co/rr-ss/Polaris/resolve/main/polaris/model/sft_loop.pt?download=true"
# Post-download verification
ACTUAL_HASH=$(sha256sum "$MODEL_PATH" | awk '{print $1}')
if [ "$ACTUAL_HASH" != "$EXPECTED_HASH" ]; then
# Error handling for failed verification
rm -f "$MODEL_PATH"
echo "❌ Download failed: Checksum mismatch (Actual: $ACTUAL_HASH)"
echo "Manual download required:"
echo "wget -O polaris/model/sft_loop.pt \"https://huggingface.co/rr-ss/Polaris/resolve/main/polaris/model/sft_loop.pt?download=true\""
exit 1
else
# Success workflow
pip install --use-pep517 --editable .
echo "✅ Model saved to: $MODEL_PATH"
echo "✅ Polaris installed successfully"
fi |