ales27pm's picture
Add autonomous on-device iOS assistant
7b2dfc5 verified
Raw
History Blame Contribute Delete
2.54 kB
#!/bin/zsh
set -euo pipefail
script_dir=$(cd "$(dirname "$0")" && pwd)
repo_root=$(cd "$script_dir/../../.." && pwd)
model_name='Dolphin3.0-Llama3.2-3B-stateful-int4.mlpackage'
model_root="$script_dir/ModelAssets"
model_path="$model_root/$model_name"
if command -v hf >/dev/null 2>&1; then
hf_command=(hf)
elif command -v uvx >/dev/null 2>&1; then
hf_command=(uvx --from 'huggingface_hub[cli]' hf)
else
print -u2 'Install the hf CLI or uv before preparing the model.'
exit 1
fi
mkdir -p "$model_root"
"${hf_command[@]}" download ales27pm/Dolphin3.0-CoreML \
--revision v2.0.0 \
--include "$model_name/**" \
--local-dir "$model_root"
verify_file() {
local relative_path=$1
local expected=$2
local actual
actual=$(shasum -a 256 "$model_path/$relative_path" | awk '{print $1}')
if [[ "$actual" != "$expected" ]]; then
print -u2 "Hash mismatch for $relative_path: $actual"
exit 1
fi
}
verify_file 'Data/com.apple.CoreML/model.mlmodel' \
'a34a00a253c98153cf3b231105493edddde532086e224443e40b255b0f10a924'
verify_file 'Data/com.apple.CoreML/weights/weight.bin' \
'6240edc377b1a0158812454c4bb6e3053d8e8a75a7eedb751b9740fffdfd3e15'
verify_file 'Manifest.json' \
'5b8ac347a822f02ba3a6d9ccff60dd723f2649424c8e88570961f12b1c59afb6'
verify_repo_file() {
local relative_path=$1
local expected=$2
local source_path="$repo_root/$relative_path"
local actual
if [[ ! -f "$source_path" ]]; then
print -u2 "Missing bundled tokenizer resource: $source_path"
exit 1
fi
actual=$(shasum -a 256 "$source_path" | awk '{print $1}')
if [[ "$actual" != "$expected" ]]; then
print -u2 "Hash mismatch for $relative_path: $actual"
exit 1
fi
}
verify_repo_file 'config.json' \
'e21ff53ea39726f972362beba869807216775d5e308bc2f531784846c06a0249'
verify_repo_file 'generation_config.json' \
'e627b5a8b2dc371f90388947ada64fa6e71de0f991c04c835f0c0bc97e305a4f'
verify_repo_file 'special_tokens_map.json' \
'2df2c4620bb1a9eb877bc7c90c7fa04608bda9fa7c0cf2cdcc0a17b849649683'
verify_repo_file 'tokenizer.json' \
'e40b93124a3e29f62d5f4ff41be56cb2af34ecacf9239acd9da53a98860380b5'
verify_repo_file 'tokenizer_config.json' \
'51ad9580aba8d00016efda43357185a0d8ff9884584dcc82ab58ca552afd14e1'
if command -v xcodegen >/dev/null 2>&1; then
xcodegen generate --spec "$script_dir/project.yml" --project "$script_dir"
else
print 'Assets verified. Install XcodeGen and run xcodegen generate before opening the app.'
fi
print "Prepared and verified the model package and tokenizer resources."