Description
How are you running AnythingLLM?
AnythingLLM desktop app
What happened?
When trying to embed documents on a Windows ARM (Snapdragon) PC using the NPU Embedder it fails with a "Failed to fetch" error.
From log (username is anonymized):
[backend] info: [QnnNativeEmbedder] NPU is enabled, using QnnSDK backend at C:\Users\HxxxxxFørxx\AppData\Local\Programs\AnythingLLM\resources\QnnSDK\aarch64-windows-msvc\QnnHtp.dll
Runtime options:
backend_path: C:\Users\HxxxxxFørxx\AppData\Local\Programs\AnythingLLM\resources\QnnSDK\aarch64-windows-msvc\QnnHtp.dll
soc_model: 60
htp_arch: 73
htp_performance_mode: high_performance
enable_htp_fp16_precision: 1
Load model from C:\Users\HenrikFᅢᄌrli\AppData\Roaming\anythingllm-desktop\storage\models\qnn-embedder\all-minilm-l6-v2\model.onnx failed:Load model C:\Users\HxxxxxFᅢᄌrxx\AppData\Roaming\anythingllm-desktop\storage\models\qnn-embedder\all-minilm-l6-v2\model.onnx failed. File doesn't exist
In this case the character ø is replaced with ᅢᄌ in the path when loading model.onnx
When loading LLM models the correct path is created:
[backend] info: [TokenManager] Initialized new TokenManager instance for model: C:\Users\HxxxxxFørxx\AppData\Roaming\anythingllm-desktop\storage\models\QNN\phi_3_5_mini_instruct_4k
Are there known steps to reproduce?
Can be reproduced by using Windows account with international characters on a Windows ARM Snapdragon PC, install AnythingLLM, select NPU Embedder, embed document.
Work if no international characters in Windows username.
Workaround
Start a command prompt in administrator mode and create a symlink between the wrong folder and the correct one:
mklink /d C:\Users\HxxxxxFᅢᄌrxx C:\Users\HxxxxxFørxx
Verified to work.