Skip to content

feat: initial implementation of multimodal runner with lfm vlm#892

Draft
NorbertKlockiewicz wants to merge 37 commits intomainfrom
@nk/lfm-vlm
Draft

feat: initial implementation of multimodal runner with lfm vlm#892
NorbertKlockiewicz wants to merge 37 commits intomainfrom
@nk/lfm-vlm

Conversation

@NorbertKlockiewicz
Copy link
Contributor

Description

Introduces a breaking change?

  • Yes
  • No

Type of change

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Documentation update (improves or adds clarity to existing documentation)
  • Other (chores, tests, code style improvements etc.)

Tested on

  • iOS
  • Android

Testing instructions

Screenshots

Related issues

Checklist

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings

Additional notes

NorbertKlockiewicz and others added 28 commits March 2, 2026 11:13
- Add UnifiedRunner that auto-detects PTE layout at load time
  (forward method → text-only, token_embedding+text_decoder → multimodal)
- Merge MultimodalLLM into LLM using UnifiedRunner
- VLMs now have full feature parity: multi-turn, countTextTokens,
  getMaxContextLength, setCountInterval, setTimeInterval
- Remove Runner, MultimodalRunner, MultimodalLLM classes
- Add sendMessageWithImage to LLMController and useLLM hook
- Remove useMultimodalLLM — callers use useLLM with isMultimodal: true
- Migrate multimodal_llm example app to useLLM

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nd fix token generation bugs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…age cache

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…using generateMultimodal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…emove tokenizerConfig guard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ndMessage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…modal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… C++ splits on placeholder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e double reset, fix max_context_len fallback, require tokenizerConfigSource, pass tools in multimodal branch, capture callback by value
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.

1 participant