Llava Clip Loader [π -π ’π €π π £π ]
The other half of running Llava models locally
- llava_clip
Llava-family vision-language models don't ship as a single file the way a plain GGUF chat model does - they need two: the main language-model weights, and a separate multimodal projector file that bridges what the vision encoder sees to what the language model understands. The README's own shorthand for spotting the second file is that it "usually" starts with mm in whatever repository you're downloading from. This node loads that projector half specifically. It doesn't do anything with images or generate text on its own - it's a small, single-purpose loader whose entire job is handing that projector off to the node that actually runs Llava.
How it works and where it fits
The single input, clip_name, is a dropdown of whatever projector files you've placed in the right folder. The single output, llava_clip, is a typed LLAVA_CLIP object - it only connects to one place in the pack: the optional llava_clip input on GPT-Loader-Simple [n-suite]. Load your projector here, load your matching Llava GGUF checkpoint over there, and that loader combines both into a working vision-language model you can then run through GPT Text Sampler [n-suite].
The README names a handful of Llava-family checkpoints it's been tested against: LLaVa 1.5 (7B and 13B), LLaVa 1.6 Mistral 7B, BakLLaVa, and Nous Hermes 2 Vision - all pulled from their respective GGUF conversions on HuggingFace. Any of them needs this same two-file pattern: the model itself, plus its matching projector loaded through this node.
Installing the pack and placing your files
- ComfyUI Manager - search "ComfyUI-N-Nodes," install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Nuked88/ComfyUI-N-Nodes.git, then restart ComfyUI.
The pack creates two subfolders under GPTcheckpoints/Llava: clips, for the projector files this node reads from, and models, for the main Llava GGUF weights that GPT-Loader-Simple [n-suite]'s ckpt_name picks up separately. Keep the two file types in their respective folders - this node's dropdown only looks at clips.
Common issues & troubleshooting
clip_name dropdown is empty. No projector files are in GPTcheckpoints/Llava/clips yet. Download the mm-prefixed file from your chosen Llava model's repository and drop it there - it won't show up in GPTcheckpoints/models or the general GPTcheckpoints root.
Output looks like nonsense once you run it through the sampler. This is almost always a mismatched pairing - the projector loaded here needs to match the specific Llava checkpoint loaded in GPT-Loader-Simple [n-suite]. Mixing a 1.5 7B projector with a 1.6 Mistral checkpoint, for instance, produces garbage rather than an error, since nothing here validates that the two files were meant for each other. Double-check both files came from the same model's repository.
Not sure if you even need this node. You only do for actual Llava-family models. Plain GGUF chat models and the pack's other built-in vision options (joytag, moondream) don't use a separate projector at all - this node is Llava-specific.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| llava_clip | LLAVA_CLIP | β |