Goal
Evaluate and design a public API for loading multimodal projectors from ModelSource, matching LlamaEngine.loadModelSource(...).
Motivation
The current public API keeps existing loadMultimodalProjector(pathOrUrl) behavior while the new model-source APIs focus on model GGUF loading. Apps that want package-managed download/cache behavior for mmproj may eventually need an explicit source-based projector API.
Candidate APIs
await engine.loadMultimodalProjectorSource(
ModelSource.parse('hf://owner/repo/mmproj.gguf'),
options: ModelLoadOptions(...),
);
or a higher-level bundle API:
await engine.loadModelBundle(
model: ModelSource.parse('hf://owner/repo/model.gguf'),
projector: ModelSource.parse('hf://owner/repo/mmproj.gguf'),
options: ModelLoadOptions(...),
);
Design questions
- Should projector cache options be independent from model cache options?
- Should model/projector load be atomic from the caller's perspective?
- How should web URL-capable backends handle authenticated/checksummed projector sources?
- How should runtime capability validation be surfaced?
Acceptance criteria
Goal
Evaluate and design a public API for loading multimodal projectors from
ModelSource, matchingLlamaEngine.loadModelSource(...).Motivation
The current public API keeps existing
loadMultimodalProjector(pathOrUrl)behavior while the new model-source APIs focus on model GGUF loading. Apps that want package-managed download/cache behavior formmprojmay eventually need an explicit source-based projector API.Candidate APIs
or a higher-level bundle API:
Design questions
Acceptance criteria
loadMultimodalProjector(...)compatibility.