Mercurial
view qwen3_vl/README.md @ 280:49e9e591c9bb
Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 19:14:53 -0700 |
| parents | 78699f810817 |
| children |
line wrap: on
line source
# Qwen3-VL 30B A3B This package runs `Qwen3-VL-30B-A3B-Instruct` through a Bazel-pinned llama.cpp CUDA runtime. It is tailored to the current WSL machine: an RTX 4070 Ti with 12 GB VRAM and 32 GB host RAM. The default model is Unsloth's 11.26 GB `Q2_K` GGUF plus the 1.08 GB FP16 vision projector. This lower quantization is intentional: the official 18.56 GB `Q4_K_M` model cannot fit on this GPU and is too large for the current WSL memory allocation. Model weights are downloaded to `~/.cache/zenbu/qwen3-vl-30b-a3b`, not the repository or Bazel cache. ## Setup Verify that Bazel's pinned runtime can see the GPU: ```bash bazel run //qwen3_vl:preflight ``` Download and verify the model files: ```bash bazel run //qwen3_vl:download_model ``` Start an interactive image prompt: ```bash bazel run //qwen3_vl:chat -- \ --image /path/to/image.jpg \ --prompt "Describe this image." \ --n-predict 256 ``` Start the OpenAI-compatible server: ```bash bazel run //qwen3_vl:serve curl.exe http://127.0.0.1:8080/health ``` For the Linux Infinite Canvas process, start the server on the Windows WSL adapter instead: ```bash bazel run //qwen3_vl:serve_canvas ``` The canvas detects the WSL gateway and uses that address by default. The pinned CUDA executable runs on the Windows side of WSL interop. Windows browsers and clients can use `http://127.0.0.1:8080`; use `curl.exe`, rather than Linux `curl`, when checking it from a WSL shell. Runtime tuning is available through environment variables: ```bash QWEN3_VL_GPU_LAYERS=16 \ QWEN3_VL_CONTEXT_SIZE=1024 \ bazel run //qwen3_vl:chat -- --prompt "Hello" --n-predict 64 ``` Increase `QWEN3_VL_GPU_LAYERS` until GPU memory is nearly full. Reduce it if llama.cpp reports an allocation failure. Keep the context small on this machine because the KV cache also consumes GPU and system memory. The WSL instance currently exposes about 15 GB of RAM even though the host has 32 GB. If model loading fails under memory pressure, create `%UserProfile%\.wslconfig` on Windows with: ```ini [wsl2] memory=28GB swap=16GB ``` Then run `wsl --shutdown` from Windows before retrying.