Skip to content

QVAC-23811 doc: add VisionPsy Nano and image_no_upscale to multimodal page - #3959

Merged
BrunoCampana merged 5 commits into
mainfrom
docs/multimodal-visionpsy
Aug 20, 2026
Merged

QVAC-23811 doc: add VisionPsy Nano and image_no_upscale to multimodal page#3959
BrunoCampana merged 5 commits into
mainfrom
docs/multimodal-visionpsy

Conversation

@BrunoCampana

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

  • The ai-capabilities/multimodal page recommends SmolVLM2 and Qwen as the multimodal LLM pair but does not mention the new VisionPsy Nano VLM or its image_no_upscale load option, which is required to distinguish the base variant from Flash (both share the same mmproj hparams).

How does it solve it?

  • Under "Models", add VisionPsy Nano (base or Flash) + mmproj-* as a recommended pair alongside Qwen2.5-Omni / Qwen3-VL and SmolVLM2. SmolVLM2 stays listed so the recommended pairs remain consistent with the embedded example, which still uses it.
  • Add a "VisionPsy Nano: base vs. Flash" subsection documenting that the two variants share the same mmproj and are selected at loadModel() time via modelConfig.image_no_upscale ('off' = base, 'on' = Flash).
  • Keep the same level of detail as the rest of the page: no per-field reference for other modelConfig options; only what is needed to distinguish the two variants. A broader "load options" reference is out of scope for this task and will land once the AI-capabilities pages get a standardized structure.

- Add VisionPsy Nano (base and Flash) as a recommended VLM pair in the
  Models section of ai-capabilities/multimodal.mdx, alongside the
  existing Qwen2.5-Omni / Qwen3-VL and SmolVLM2 entries. SmolVLM2 stays
  listed to remain consistent with the embedded example, which still
  uses it.
- Add a "VisionPsy Nano: base vs. Flash" subsection documenting that
  the two variants share the same mmproj and are selected at load time
  via modelConfig.image_no_upscale ('off' = base, 'on' = Flash).
- Keep the same level of detail as the rest of the page: no per-field
  reference for other modelConfig options, no sizing or usage guidance
  beyond what is strictly needed to distinguish the two variants.
@BrunoCampana
BrunoCampana requested review from a team as code owners August 19, 2026 19:55
@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Review Status

Current Status: ✅ APPROVED
Approvals so far: Team Lead: 1, Member: 2

@github-actions

Copy link
Copy Markdown
Contributor

License compliance — clean

No new dependency license findings in this PR.

Warn-only (shadow) mode — this check does not block merges yet.

Updated automatically by the canonical license compliance workflow.

NOTICE presence (advisory)

Missing NOTICE (advisory, does not block):

  • ./.github/actions/release-merge-guard
  • ./docs/website
  • ./packages/ggml-coload-smoke
  • ./packages/fabric/test/integration
  • ./packages/inference-addon-cpp/mobile
  • ./packages/sdk/e2e
  • ./packages/llm-llamacpp/benchmarks/performance
  • ./packages/llm-llamacpp/benchmarks/server
  • ./packages/vla-ggml/sim/server
  • ./packages/embed-llamacpp/benchmarks/performance
  • ./packages/embed-llamacpp/benchmarks/server
  • ./packages/asr-ggml/benchmarks/server

Comment thread docs/website/content/docs/ai-capabilities/multimodal.mdx Outdated
Comment thread docs/website/content/docs/ai-capabilities/multimodal.mdx Outdated
Comment thread docs/website/content/docs/ai-capabilities/multimodal.mdx Outdated
Comment thread docs/website/content/docs/ai-capabilities/multimodal.mdx Outdated
Address PR #3959 review feedback (@yingying0906, @iancris):

- Name the exact weights + mmproj constants for each VisionPsy variant under
  "Recommended pairs", and flag the counterintuitive naming (un-suffixed
  constants are Flash; `_1`-suffixed constants are base).
- Correct the "base vs. Flash" subsection: base and Flash are separate
  weights + `mmproj` pairs (not a shared mmproj); the variant is chosen by
  loading the matching pair, and `image_no_upscale` is the preprocessing-rule
  flag that must match the loaded pair — the two mmprojs' identical metadata
  cannot express this on its own.
- Drop the misleading `'off' (default)` / `'on'` list. The field is optional;
  unset defers to the mmproj's own value. New guidance: leave unset for base,
  set `image_no_upscale: 'on'` for Flash.
- Add an explicit warning that a mismatch between the loaded pair and the
  flag passes load validation (both mmprojs declare the same
  `preproc_image_size`) but silently uses the wrong preprocessing rule and
  degrades quality.
- Scope `image_no_upscale` to the idefics3-style preprocessor and to a
  `mmproj` that declares `clip.vision.preproc_image_size`. Note that on the
  other recommended pairs the flag either warns and is ignored (Qwen2.5-Omni
  / Qwen3-VL) or is accepted but inert (SmolVLM2) — so in practice a
  VisionPsy-only key.
iancris
iancris previously approved these changes Aug 20, 2026
Comment thread docs/website/content/docs/ai-capabilities/multimodal.mdx Outdated
Co-authored-by: Law Po Ying <30721578+yingying0906@users.noreply.github.com>
@BrunoCampana
BrunoCampana requested a review from iancris August 20, 2026 16:50
@BrunoCampana
BrunoCampana merged commit c7af7f1 into main Aug 20, 2026
26 checks passed
@BrunoCampana
BrunoCampana deleted the docs/multimodal-visionpsy branch August 20, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants