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
| import torch | |
| from typing_extensions import override | |
| from comfy.k_diffusion.sampling import sigma_to_half_log_snr | |
| from comfy_api.latest import ComfyExtension, io | |
| class EpsilonScaling(io.ComfyNode): | |
| """ | |
| Implements the Epsilon Scaling method from 'Elucidating the Exposure Bias in Diffusion Models' | |
| (https://arxiv.org/abs/2308.15321v6). | |
| This method mitigates exposure bias by scaling the predicted noise during sampling, | |
| which can significantly improve sample quality. This implementation uses the "uniform schedule" | |
| recommended by the paper for its practicality and effectiveness. | |
| """ | |
| def define_schema(cls): | |
| return io.Schema( | |
| node_id="Epsilon Scaling", | |
| category="model/patch/unet", | |
| inputs=[ | |
| io.Model.Input("model"), | |
| io.Float.Input( | |
| "scaling_factor", | |
| default=1.005, | |
| min=0.5, | |
| max=1.5, | |
| step=0.001, | |
| display_mode=io.NumberDisplay.number, | |
| advanced=True, | |
| ), | |
| ], | |
| outputs=[ | |
| io.Model.Output(), | |
| ], | |
| ) | |
| def execute(cls, model, scaling_factor) -> io.NodeOutput: | |
| # Prevent division by zero, though the UI's min value should prevent this. | |
| if scaling_factor == 0: | |
| scaling_factor = 1e-9 | |
| def epsilon_scaling_function(args): | |
| """ | |
| This function is applied after the CFG guidance has been calculated. | |
| It recalculates the denoised latent by scaling the predicted noise. | |
| """ | |
| denoised = args["denoised"] | |
| x = args["input"] | |
| noise_pred = x - denoised | |
| scaled_noise_pred = noise_pred / scaling_factor | |
| new_denoised = x - scaled_noise_pred | |
| return new_denoised | |
| # Clone the model patcher to avoid modifying the original model in place | |
| model_clone = model.clone() | |
| model_clone.set_model_sampler_post_cfg_function(epsilon_scaling_function) | |
| return io.NodeOutput(model_clone) | |
| def compute_tsr_rescaling_factor( | |
| snr: torch.Tensor, tsr_k: float, tsr_variance: float | |
| ) -> torch.Tensor: | |
| """Compute the rescaling score ratio in Temporal Score Rescaling. | |
| See equation (6) in https://arxiv.org/pdf/2510.01184v1. | |
| """ | |
| posinf_mask = torch.isposinf(snr) | |
| rescaling_factor = (snr * tsr_variance + 1) / (snr * tsr_variance / tsr_k + 1) | |
| return torch.where(posinf_mask, tsr_k, rescaling_factor) # when snr → inf, r = tsr_k | |
| class TemporalScoreRescaling(io.ComfyNode): | |
| def define_schema(cls): | |
| return io.Schema( | |
| node_id="TemporalScoreRescaling", | |
| display_name="TSR - Temporal Score Rescaling", | |
| category="model/patch/unet", | |
| inputs=[ | |
| io.Model.Input("model"), | |
| io.Float.Input( | |
| "tsr_k", | |
| tooltip=( | |
| "Controls the rescaling strength.\n" | |
| "Lower k produces more detailed results; higher k produces smoother results in image generation. Setting k = 1 disables rescaling." | |
| ), | |
| default=0.95, | |
| min=0.01, | |
| max=100.0, | |
| step=0.001, | |
| display_mode=io.NumberDisplay.number, | |
| advanced=True, | |
| ), | |
| io.Float.Input( | |
| "tsr_sigma", | |
| tooltip=( | |
| "Controls how early rescaling takes effect.\n" | |
| "Larger values take effect earlier." | |
| ), | |
| default=1.0, | |
| min=0.01, | |
| max=100.0, | |
| step=0.001, | |
| display_mode=io.NumberDisplay.number, | |
| advanced=True, | |
| ), | |
| ], | |
| outputs=[ | |
| io.Model.Output( | |
| display_name="patched_model", | |
| ), | |
| ], | |
| description=( | |
| "[Post-CFG Function]\n" | |
| "TSR - Temporal Score Rescaling (2510.01184)\n\n" | |
| "Rescaling the model's score or noise to steer the sampling diversity.\n" | |
| ), | |
| ) | |
| def execute(cls, model, tsr_k, tsr_sigma) -> io.NodeOutput: | |
| tsr_variance = tsr_sigma**2 | |
| def temporal_score_rescaling(args): | |
| denoised = args["denoised"] | |
| x = args["input"] | |
| sigma = args["sigma"] | |
| curr_model = args["model"] | |
| # No rescaling (r = 1) or no noise | |
| if tsr_k == 1 or sigma == 0: | |
| return denoised | |
| model_sampling = curr_model.current_patcher.get_model_object("model_sampling") | |
| half_log_snr = sigma_to_half_log_snr(sigma, model_sampling) | |
| snr = (2 * half_log_snr).exp() | |
| # No rescaling needed (r = 1) | |
| if snr == 0: | |
| return denoised | |
| rescaling_r = compute_tsr_rescaling_factor(snr, tsr_k, tsr_variance) | |
| # Derived from scaled_denoised = (x - r * sigma * noise) / alpha | |
| alpha = sigma * half_log_snr.exp() | |
| return torch.lerp(x / alpha, denoised, rescaling_r) | |
| m = model.clone() | |
| m.set_model_sampler_post_cfg_function(temporal_score_rescaling) | |
| return io.NodeOutput(m) | |
| class EpsilonScalingExtension(ComfyExtension): | |
| async def get_node_list(self) -> list[type[io.ComfyNode]]: | |
| return [ | |
| EpsilonScaling, | |
| TemporalScoreRescaling, | |
| ] | |
| async def comfy_entrypoint() -> EpsilonScalingExtension: | |
| return EpsilonScalingExtension() | |