Instructions to use saik0s/comfy_backup with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use saik0s/comfy_backup with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="saik0s/comfy_backup", filename="ComfyUI/models/text_encoders/gemma-3-12b-it-q2_k.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use saik0s/comfy_backup with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf saik0s/comfy_backup:Q4_K_S # Run inference directly in the terminal: llama cli -hf saik0s/comfy_backup:Q4_K_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf saik0s/comfy_backup:Q4_K_S # Run inference directly in the terminal: llama cli -hf saik0s/comfy_backup:Q4_K_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf saik0s/comfy_backup:Q4_K_S # Run inference directly in the terminal: ./llama-cli -hf saik0s/comfy_backup:Q4_K_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf saik0s/comfy_backup:Q4_K_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf saik0s/comfy_backup:Q4_K_S
Use Docker
docker model run hf.co/saik0s/comfy_backup:Q4_K_S
- LM Studio
- Jan
- Ollama
How to use saik0s/comfy_backup with Ollama:
ollama run hf.co/saik0s/comfy_backup:Q4_K_S
- Unsloth Studio
How to use saik0s/comfy_backup with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for saik0s/comfy_backup to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for saik0s/comfy_backup to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for saik0s/comfy_backup to start chatting
- Pi
How to use saik0s/comfy_backup with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf saik0s/comfy_backup:Q4_K_S
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "saik0s/comfy_backup:Q4_K_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use saik0s/comfy_backup with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf saik0s/comfy_backup:Q4_K_S
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default saik0s/comfy_backup:Q4_K_S
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use saik0s/comfy_backup with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf saik0s/comfy_backup:Q4_K_S
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "saik0s/comfy_backup:Q4_K_S" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use saik0s/comfy_backup with Docker Model Runner:
docker model run hf.co/saik0s/comfy_backup:Q4_K_S
- Lemonade
How to use saik0s/comfy_backup with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull saik0s/comfy_backup:Q4_K_S
Run and chat with the model
lemonade run user.comfy_backup-Q4_K_S
List all available models
lemonade list
| """ | |
| @author: rgthree | |
| @title: Comfy Nodes | |
| @nickname: rgthree | |
| @description: A bunch of nodes I created that I also find useful. | |
| """ | |
| from glob import glob | |
| import json | |
| import os | |
| import shutil | |
| import re | |
| import random | |
| import execution | |
| from .py.log import log | |
| from .py.config import get_config_value | |
| from .py.server.rgthree_server import * | |
| from .py.context import RgthreeContext | |
| from .py.context_switch import RgthreeContextSwitch | |
| from .py.context_switch_big import RgthreeContextSwitchBig | |
| from .py.display_any import RgthreeDisplayAny, RgthreeDisplayInt | |
| from .py.lora_stack import RgthreeLoraLoaderStack | |
| from .py.seed import RgthreeSeed | |
| from .py.sdxl_empty_latent_image import RgthreeSDXLEmptyLatentImage | |
| from .py.power_prompt import RgthreePowerPrompt | |
| from .py.power_prompt_simple import RgthreePowerPromptSimple | |
| from .py.image_inset_crop import RgthreeImageInsetCrop | |
| from .py.context_big import RgthreeBigContext | |
| from .py.dynamic_context import RgthreeDynamicContext | |
| from .py.dynamic_context_switch import RgthreeDynamicContextSwitch | |
| from .py.ksampler_config import RgthreeKSamplerConfig | |
| from .py.sdxl_power_prompt_postive import RgthreeSDXLPowerPromptPositive | |
| from .py.sdxl_power_prompt_simple import RgthreeSDXLPowerPromptSimple | |
| from .py.any_switch import RgthreeAnySwitch | |
| from .py.context_merge import RgthreeContextMerge | |
| from .py.context_merge_big import RgthreeContextMergeBig | |
| from .py.image_comparer import RgthreeImageComparer | |
| from .py.power_lora_loader import RgthreePowerLoraLoader | |
| from .py.power_primitive import RgthreePowerPrimitive | |
| from .py.image_or_latent_size import RgthreeImageOrLatentSize | |
| from .py.image_resize import RgthreeImageResize | |
| from .py.power_puter import RgthreePowerPuter | |
| NODE_CLASS_MAPPINGS = { | |
| RgthreeBigContext.NAME: RgthreeBigContext, | |
| RgthreeContext.NAME: RgthreeContext, | |
| RgthreeContextSwitch.NAME: RgthreeContextSwitch, | |
| RgthreeContextSwitchBig.NAME: RgthreeContextSwitchBig, | |
| RgthreeContextMerge.NAME: RgthreeContextMerge, | |
| RgthreeContextMergeBig.NAME: RgthreeContextMergeBig, | |
| RgthreeDisplayInt.NAME: RgthreeDisplayInt, | |
| RgthreeDisplayAny.NAME: RgthreeDisplayAny, | |
| RgthreeLoraLoaderStack.NAME: RgthreeLoraLoaderStack, | |
| RgthreeSeed.NAME: RgthreeSeed, | |
| RgthreeImageInsetCrop.NAME: RgthreeImageInsetCrop, | |
| RgthreePowerPrompt.NAME: RgthreePowerPrompt, | |
| RgthreePowerPromptSimple.NAME: RgthreePowerPromptSimple, | |
| RgthreeKSamplerConfig.NAME: RgthreeKSamplerConfig, | |
| RgthreeSDXLEmptyLatentImage.NAME: RgthreeSDXLEmptyLatentImage, | |
| RgthreeSDXLPowerPromptPositive.NAME: RgthreeSDXLPowerPromptPositive, | |
| RgthreeSDXLPowerPromptSimple.NAME: RgthreeSDXLPowerPromptSimple, | |
| RgthreeAnySwitch.NAME: RgthreeAnySwitch, | |
| RgthreeImageComparer.NAME: RgthreeImageComparer, | |
| RgthreePowerLoraLoader.NAME: RgthreePowerLoraLoader, | |
| RgthreePowerPrimitive.NAME: RgthreePowerPrimitive, | |
| RgthreeImageOrLatentSize.NAME: RgthreeImageOrLatentSize, | |
| RgthreeImageResize.NAME: RgthreeImageResize, | |
| RgthreePowerPuter.NAME: RgthreePowerPuter, | |
| } | |
| if get_config_value('unreleased.dynamic_context.enabled') is True: | |
| NODE_CLASS_MAPPINGS[RgthreeDynamicContext.NAME] = RgthreeDynamicContext | |
| NODE_CLASS_MAPPINGS[RgthreeDynamicContextSwitch.NAME] = RgthreeDynamicContextSwitch | |
| # WEB_DIRECTORY is the comfyui nodes directory that ComfyUI will link and auto-load. | |
| WEB_DIRECTORY = "./web/comfyui" | |
| THIS_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| DIR_WEB = os.path.abspath(f'{THIS_DIR}/{WEB_DIRECTORY}') | |
| DIR_PY = os.path.abspath(f'{THIS_DIR}/py') | |
| # remove old directories | |
| OLD_DIRS = [ | |
| os.path.abspath(f'{THIS_DIR}/../../web/extensions/rgthree'), | |
| os.path.abspath(f'{THIS_DIR}/../../web/extensions/rgthree-comfy'), | |
| ] | |
| for old_dir in OLD_DIRS: | |
| if os.path.exists(old_dir): | |
| shutil.rmtree(old_dir) | |
| __all__ = ['NODE_CLASS_MAPPINGS', 'WEB_DIRECTORY'] | |
| NOT_NODES = ['constants', 'log', 'utils', 'rgthree', 'rgthree_server', 'image_clipbaord', 'config'] | |
| nodes = [] | |
| for file in glob(os.path.join(DIR_PY, '*.py')) + glob(os.path.join(DIR_WEB, '*.js')): | |
| name = os.path.splitext(os.path.basename(file))[0] | |
| if name in NOT_NODES or name in nodes: | |
| continue | |
| if name.startswith('_') or name.startswith('base') or 'utils' in name: | |
| continue | |
| nodes.append(name) | |
| if name == 'display_any': | |
| nodes.append('display_int') | |
| print() | |
| adjs = ['exciting', 'extraordinary', 'epic', 'fantastic', 'magnificent'] | |
| log(f'Loaded {len(nodes)} {random.choice(adjs)} nodes. 🎉', color='BRIGHT_GREEN') | |
| print() | |
| if get_config_value('announcements.comfy-nodes-20.incompatible', True): | |
| message = ( | |
| "ComfyUI's new Node 2.0 rendering may be incompatible with some rgthree-comfy nodes " | |
| "and features, breaking some rendering as well as losing the ability to " | |
| "access a node's properties (a vital part of many nodes). It also appears to run MUCH more " | |
| "slowly spiking CPU usage and causing jankiness and unresponsiveness, especially with large " | |
| "workflows. Personally I am not planning to use the new Nodes 2.0 and, unfortunately, am not " | |
| "able to invest the time to investigate and overhaul rgthree-comfy where needed. " | |
| "If you have issues when Nodes 2.0 is enabled, I'd urge you to switch it off as well and " | |
| "join me in hoping ComfyUI is not planning to deprecate the existing, stable canvas rendering " | |
| "all together.\n" | |
| ) | |
| log(message, color='YELLOW', id='announcements.comfy-nodes-20.incompatible', at_most_secs=60) | |