DavchaLoadLLM
Load a GGUF and push it onto your GPU, no API required
- model
If you want a local LLM answering inside a ComfyUI graph, everything starts with loading one. DavchaLoadLLM picks a .gguf file from a folder and hands you a loaded model ready for the pack's LLM nodes. It's the smallest piece of the trio - loader → LLM node → string output - but it's where the heavy lifting (and the heavy memory use) happens.
It ships in comfyui_davcha, the "personal QoL and experimental nodes" pack. Heads-up for fresh installs: in the current source this class is registered as OldDavchaLoadLLM because the author reworked his LLM stack. Search the menu for either name.
How it works
The model dropdown is populated at startup by scanning ComfyUI/models/llm_gguf/ for .gguf files - llama.cpp's single-file quantized format. Pick one and it loads through llama-cpp-python with n_gpu_layers=-1 (all layers on GPU), a fixed context of 2048 tokens, and verbose output off. Then it emits the model object your DavchaLLM or DavchaLLMAdvanced nodes consume.
Input: modelname (the dropdown, which is empty if that folder doesn't exist or holds no GGUFs). Output: model (the pack's custom DavchaLLModel type).
Installing it
# ComfyUI Manager → Install Custom Nodes → search "comfyui_davcha" → Install → Restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/dchatel/comfyui_davcha
cd comfyui_davcha
pip install -r requirements.txt
This node is the reason the pack-level gotcha is a real problem rather than a footnote. nodes.py imports from llama_cpp import Llama at the top of the module, yet llama-cpp-python isn't in requirements.txt (only webp and rapidfuzz are). No llama-cpp-python means the entire pack fails to import - not just this node. Install it yourself with pip install llama-cpp-python, plus opencv-python for the other missing import, and restart.
Where people get burned
The models themselves are the other half of the deal. GGUFs are the quantized weight format from the llama.cpp world, and the quantization tier is the whole game: Q8 is essentially fp16 at half the size, Q4_K_M is the accepted compromise for a 12GB card, and Q3 and below are for the desperate. A loader can't fix a model that's too big for your VRAM - n_gpu_layers=-1 will happily try to push everything to the GPU and OOM. Drop to a smaller quantization or accept CPU layers. And remember the fixed 2048 context: long prompts truncate the model's working memory, which is a ceiling on every LLM node you feed from here.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| modelname | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | DavchaLLModel | — |