You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update the default LiteRT-LM native runtime to leehack/litert-lm-native@v0.18.1-4. Windows x64 apps no longer need the Visual C++ Redistributable for LiteRT-LM, which now ships its own Visual C++ runtime DLLs (litert-lm-native#87); llama.cpp already did, so only the opt-in stable_diffusion runtime still needs it. On Linux and Windows, LiteRT-LM CPU inference uses the configured thread count instead of one thread: Qwen3 0.6B CPU decode is 3.3× faster on an 8-vCPU Linux arm64 host and 2.2× faster on a 4-vCPU Windows x64 host (litert-lm-native#89, #1375). Flutter Apple apps get it with llamadart_litert_lm_flutter0.16.2.
Linux and Windows apps built with dart build cli, flutter build linux or flutter build windows load LiteRT-LM from their own bundle, so a copied or installed app no longer fails with Failed to load dynamic library 'package:llamadart/litert_lm_LiteRtLm' once the project's hook cache is out of reach (#1397).
LiteRT-LM native embedding loads throw LlamaUnsupportedException on Linux, Windows and Android x86_64 instead of failing at engine creation or crashing the process; they stay available on macOS arm64, iOS arm64 and Android arm64 (verified on a Galaxy S24 without SME and on arm64 emulators) (#1367).
Native LiteRT-LM reports length instead of stop when a reply reaches maxTokens or fills the context, and automatic sendWithTools/completeWithTools loops now run on it, stopping truncated without running tools on a cut-off reply. This needs a runtime whose stream_proxy_finish_reason_abi_version export returns 1 (litert-lm-native v0.18.0-3 or later, including the default pin); on older runtimes loops still throw LlamaUnsupportedException. LiteRtLmRuntimeClient adds supportsFinishReasons and lastFinishReason. Web LiteRT-LM is unchanged (#919).
Aligned the default WebGPU bridge assets to v0.1.73: Web embed() and embedBatch() throw LlamaUnsupportedException for rank-pooled rerankers instead of returning an invalid vector built from classifier scores, and LlamaEmbeddingInputTooLongException for an input longer than the one micro-batch it must fit, instead of embedding only part of it or aborting the runtime, as native does (llama-web-bridge#194). Upstream v0.7.0@620d2225cc436ab0b001e3200e590e3b286ef9ab matches native v0.7.0-2, which the manifest records; Web LiteRT-LM stays @litert-lm/core@0.18.0. Manifest SHA-256: f89c41d151b7df0cbe4f5e97f95563e31e0968c13e65a630e4e0dba28adb1d44.
Add dart run llamadart:web_setup: it downloads the Web bridge files this version pins into web/webgpu_bridge/, checks each against the pinned release manifest and adds the loader to web/index.html; reruns keep current files, and --check verifies offline. It refuses a page that already loads the bridge, so remove a hand-written loader first. With its loader, a page whose files are missing fails the first model load at once instead of after 12 seconds (#855).
Native llama.cpp usage.promptTokens counts the tokens of an image or audio prompt, as llama-server does, instead of its positions, which M-RoPE vision models such as Qwen3.5 report far fewer of (#696).
Native llama.cpp frees each context's token batch and sampler chain, and the sampler chain of a running generation, when its worker isolate is killed, instead of leaking about 0.1 MiB per kill plus 12 bytes per vocabulary token during generation (1.8 MiB for Qwen2.5) (#1404).
Correct the LlamaVideoContent rejection text: on desktop it points to a projector without a vision encoder instead of saying video support is built out, and it names Android and iOS as the platforms whose artifacts lack video (#320).