mirror of
https://github.com/lukaszraczylo/claude-mnemonic.git
synced 2026-06-11 00:09:28 +00:00
Fixes onnx version mismatch, vectordb not liking it and dashboard
Fixes summaries not being generated and timeline showing all observations despite of project filter being applied.
This commit is contained in:
@@ -1,13 +1,22 @@
|
||||
#!/bin/bash
|
||||
# Download ONNX Runtime libraries for embedding
|
||||
# Usage: ./download-onnx-libs.sh [platform]
|
||||
# Usage: ./download-onnx-libs.sh [platform] [--force]
|
||||
# Platform: darwin-arm64, linux-amd64, windows-amd64, or "all" (default)
|
||||
# Use --force to re-download even if libraries exist
|
||||
|
||||
set -e
|
||||
|
||||
ONNX_VERSION="1.23.2"
|
||||
ASSETS_DIR="internal/embedding/assets/lib"
|
||||
PLATFORM="${1:-all}"
|
||||
FORCE_DOWNLOAD=false
|
||||
|
||||
# Check for --force flag
|
||||
for arg in "$@"; do
|
||||
if [ "$arg" = "--force" ]; then
|
||||
FORCE_DOWNLOAD=true
|
||||
fi
|
||||
done
|
||||
|
||||
# Auto-detect platform if not specified
|
||||
if [ "$PLATFORM" = "auto" ]; then
|
||||
@@ -31,12 +40,38 @@ fi
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
trap "rm -rf ${TEMP_DIR}" EXIT
|
||||
|
||||
# Get the installed version for a platform
|
||||
get_installed_version() {
|
||||
local plat="$1"
|
||||
local version_file="${ASSETS_DIR}/${plat}/.version"
|
||||
if [ -f "$version_file" ]; then
|
||||
cat "$version_file"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
# Write version file after successful download
|
||||
write_version_file() {
|
||||
local plat="$1"
|
||||
echo "${ONNX_VERSION}" > "${ASSETS_DIR}/${plat}/.version"
|
||||
}
|
||||
|
||||
# Check if version matches
|
||||
version_matches() {
|
||||
local plat="$1"
|
||||
local installed_version
|
||||
installed_version=$(get_installed_version "$plat")
|
||||
[ "$installed_version" = "$ONNX_VERSION" ]
|
||||
}
|
||||
|
||||
download_darwin_arm64() {
|
||||
echo "Downloading darwin-arm64..."
|
||||
mkdir -p "${ASSETS_DIR}/darwin-arm64"
|
||||
curl -fsSL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-osx-arm64-${ONNX_VERSION}.tgz" -o "${TEMP_DIR}/darwin-arm64.tgz"
|
||||
tar -xzf "${TEMP_DIR}/darwin-arm64.tgz" -C "${TEMP_DIR}"
|
||||
cp "${TEMP_DIR}/onnxruntime-osx-arm64-${ONNX_VERSION}/lib/libonnxruntime.${ONNX_VERSION}.dylib" "${ASSETS_DIR}/darwin-arm64/libonnxruntime.dylib"
|
||||
write_version_file "darwin-arm64"
|
||||
}
|
||||
|
||||
download_linux_amd64() {
|
||||
@@ -46,6 +81,7 @@ download_linux_amd64() {
|
||||
tar -xzf "${TEMP_DIR}/linux-amd64.tgz" -C "${TEMP_DIR}"
|
||||
cp "${TEMP_DIR}/onnxruntime-linux-x64-${ONNX_VERSION}/lib/libonnxruntime.so.${ONNX_VERSION}" "${ASSETS_DIR}/linux-amd64/libonnxruntime.so"
|
||||
cp "${TEMP_DIR}/onnxruntime-linux-x64-${ONNX_VERSION}/lib/libonnxruntime_providers_shared.so" "${ASSETS_DIR}/linux-amd64/libonnxruntime_providers_shared.so" 2>/dev/null || true
|
||||
write_version_file "linux-amd64"
|
||||
}
|
||||
|
||||
download_linux_arm64() {
|
||||
@@ -55,6 +91,7 @@ download_linux_arm64() {
|
||||
tar -xzf "${TEMP_DIR}/linux-arm64.tgz" -C "${TEMP_DIR}"
|
||||
cp "${TEMP_DIR}/onnxruntime-linux-aarch64-${ONNX_VERSION}/lib/libonnxruntime.so.${ONNX_VERSION}" "${ASSETS_DIR}/linux-arm64/libonnxruntime.so"
|
||||
cp "${TEMP_DIR}/onnxruntime-linux-aarch64-${ONNX_VERSION}/lib/libonnxruntime_providers_shared.so" "${ASSETS_DIR}/linux-arm64/libonnxruntime_providers_shared.so" 2>/dev/null || true
|
||||
write_version_file "linux-arm64"
|
||||
}
|
||||
|
||||
download_windows_amd64() {
|
||||
@@ -66,6 +103,7 @@ download_windows_amd64() {
|
||||
echo "Downloaded file size: $(wc -c < "${TEMP_DIR}/windows-amd64.zip") bytes"
|
||||
unzip -q "${TEMP_DIR}/windows-amd64.zip" -d "${TEMP_DIR}"
|
||||
cp "${TEMP_DIR}/onnxruntime-win-x64-${ONNX_VERSION}/lib/onnxruntime.dll" "${ASSETS_DIR}/windows-amd64/onnxruntime.dll"
|
||||
write_version_file "windows-amd64"
|
||||
}
|
||||
|
||||
# Check if library already exists for a platform
|
||||
@@ -79,19 +117,40 @@ lib_exists() {
|
||||
esac
|
||||
}
|
||||
|
||||
# Download only if not present
|
||||
# Download only if not present or version mismatch
|
||||
download_if_needed() {
|
||||
local plat="$1"
|
||||
if lib_exists "$plat"; then
|
||||
echo "Library for ${plat} already exists, skipping download"
|
||||
return 0
|
||||
local need_download=false
|
||||
local reason=""
|
||||
|
||||
if [ "$FORCE_DOWNLOAD" = true ]; then
|
||||
need_download=true
|
||||
reason="forced"
|
||||
elif ! lib_exists "$plat"; then
|
||||
need_download=true
|
||||
reason="not found"
|
||||
elif ! version_matches "$plat"; then
|
||||
local installed_version
|
||||
installed_version=$(get_installed_version "$plat")
|
||||
need_download=true
|
||||
reason="version mismatch (installed: ${installed_version:-unknown}, required: ${ONNX_VERSION})"
|
||||
fi
|
||||
|
||||
if [ "$need_download" = true ]; then
|
||||
if [ -n "$reason" ] && [ "$reason" != "not found" ]; then
|
||||
echo "Re-downloading ${plat}: ${reason}"
|
||||
fi
|
||||
# Remove old library before downloading
|
||||
rm -rf "${ASSETS_DIR}/${plat}"
|
||||
case "$plat" in
|
||||
darwin-arm64) download_darwin_arm64 ;;
|
||||
linux-amd64) download_linux_amd64 ;;
|
||||
linux-arm64) download_linux_arm64 ;;
|
||||
windows-amd64) download_windows_amd64 ;;
|
||||
esac
|
||||
else
|
||||
echo "Library for ${plat} already exists (v${ONNX_VERSION}), skipping download"
|
||||
fi
|
||||
case "$plat" in
|
||||
darwin-arm64) download_darwin_arm64 ;;
|
||||
linux-amd64) download_linux_amd64 ;;
|
||||
linux-arm64) download_linux_arm64 ;;
|
||||
windows-amd64) download_windows_amd64 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
echo "ONNX Runtime v${ONNX_VERSION} - Platform: ${PLATFORM}"
|
||||
|
||||
Reference in New Issue
Block a user