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:
2025-12-16 18:27:55 +00:00
parent 4076118781
commit f4baf70f6a
11 changed files with 137 additions and 18 deletions
+70 -11
View File
@@ -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}"