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="models/text_encoders/Qwen3VL-8B-Uncensored-HauhauCS-Aggressive-Q8_0.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:Q8_0 # Run inference directly in the terminal: llama cli -hf saik0s/comfy_backup:Q8_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf saik0s/comfy_backup:Q8_0 # Run inference directly in the terminal: llama cli -hf saik0s/comfy_backup:Q8_0
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:Q8_0 # Run inference directly in the terminal: ./llama-cli -hf saik0s/comfy_backup:Q8_0
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:Q8_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf saik0s/comfy_backup:Q8_0
Use Docker
docker model run hf.co/saik0s/comfy_backup:Q8_0
- LM Studio
- Jan
- Ollama
How to use saik0s/comfy_backup with Ollama:
ollama run hf.co/saik0s/comfy_backup:Q8_0
- 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:Q8_0
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:Q8_0" } ] } } }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:Q8_0
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:Q8_0
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:Q8_0
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:Q8_0" \ --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:Q8_0
- Lemonade
How to use saik0s/comfy_backup with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull saik0s/comfy_backup:Q8_0
Run and chat with the model
lemonade run user.comfy_backup-Q8_0
List all available models
lemonade list
| # nodes.py | |
| # Combined: SimpleNumberCounter, SimpleConstantNumber, SimpleLogicBoolean, StringFromList, LoadTextFile | |
| import math | |
| # ── Counter state ──────────────────────────────────────────────────────────── | |
| _counter_state = {"value": 0} | |
| def wrapIndex(index, length): | |
| if length == 0: | |
| print("ezXY: Divide by zero error, returning 0.") | |
| return 0, 0 | |
| index_mod = int(math.fmod(index, length)) | |
| wraps = index // length | |
| return index_mod, wraps | |
| class SimpleNumberCounter: | |
| def INPUT_TYPES(cls): | |
| return { | |
| "required": { | |
| "mode": (["increment", "decrement", "increment_to_stop", "decrement_to_stop"],), | |
| "stop": ("FLOAT", {"default": 100.0, "min": 0.0, "max": 99999.0, "step": 1.0}), | |
| "start": ("INT", {"default": 0, "min": 0, "max": 99999}), | |
| "step": ("INT", {"default": 1, "min": 0, "max": 99999}), | |
| }, | |
| "optional": { | |
| "reset_bool": ("NUMBER",), | |
| } | |
| } | |
| FUNCTION = "count" | |
| CATEGORY = "Simple Utils" | |
| RETURN_TYPES = ("NUMBER", "FLOAT", "INT") | |
| RETURN_NAMES = ("number", "float", "int") | |
| def IS_CHANGED(cls, **kwargs): | |
| return float("nan") | |
| def count(self, mode, stop, start, step, reset_bool=None): | |
| global _counter_state | |
| if reset_bool is not None and float(reset_bool) > 0: | |
| _counter_state["value"] = start | |
| v = _counter_state["value"] | |
| if mode in ("increment", "increment_to_stop"): | |
| next_v = v + step | |
| if next_v >= stop: | |
| next_v = start | |
| _counter_state["value"] = next_v | |
| else: | |
| next_v = v - step | |
| if next_v < 0: | |
| next_v = int(stop) | |
| _counter_state["value"] = next_v | |
| return (float(v), float(v), int(v)) | |
| class SimpleConstantNumber: | |
| def INPUT_TYPES(cls): | |
| return { | |
| "required": { | |
| "value": ("FLOAT", {"default": 1.0, "min": -99999.0, "max": 99999.0, "step": 1.0}), | |
| } | |
| } | |
| FUNCTION = "output" | |
| CATEGORY = "Simple Utils" | |
| RETURN_TYPES = ("NUMBER", "FLOAT", "INT") | |
| RETURN_NAMES = ("NUMBER", "FLOAT", "INT") | |
| def output(self, value): | |
| return (float(value), float(value), int(value)) | |
| class SimpleLogicBoolean: | |
| def INPUT_TYPES(cls): | |
| return { | |
| "required": { | |
| "boolean": ("BOOLEAN", {"default": True}), | |
| } | |
| } | |
| FUNCTION = "output" | |
| CATEGORY = "Simple Utils" | |
| RETURN_TYPES = ("BOOLEAN", "NUMBER", "INT", "FLOAT") | |
| RETURN_NAMES = ("BOOLEAN", "NUMBER", "INT", "FLOAT") | |
| def output(self, boolean): | |
| v = 1 if boolean else 0 | |
| return (boolean, float(v), int(v), float(v)) | |
| class StringFromList: | |
| def INPUT_TYPES(s): | |
| return { | |
| "required": { | |
| "list_input": ("STRING", {"forceInput": True},), | |
| "index": ("INT", {"default": 0, "min": -999, "max": 999, "step": 1}), | |
| }, | |
| } | |
| RETURN_TYPES = ("STRING", "INT", "INT",) | |
| RETURN_NAMES = ("list item", "size", "wraps",) | |
| INPUT_IS_LIST = True | |
| OUTPUT_IS_LIST = (True, False, True) | |
| FUNCTION = "pick" | |
| CATEGORY = "ezXY/utility" | |
| def pick(self, list_input, index): | |
| length = len(list_input) | |
| wraps_list, item_list = [], [] | |
| for i in index: | |
| index_mod, wraps = wrapIndex(i, length) | |
| wraps_list.append(wraps) | |
| item_list.append(list_input[index_mod]) | |
| return (item_list, length, wraps_list,) | |
| class LoadTextFile: | |
| def INPUT_TYPES(cls): | |
| return { | |
| "required": { | |
| "file_path": ("STRING", {"default": "/input/yourfile.txt", "multiline": False}), | |
| } | |
| } | |
| FUNCTION = "load" | |
| CATEGORY = "Simple Utils" | |
| RETURN_TYPES = ("STRING",) | |
| RETURN_NAMES = ("STRING",) | |
| def IS_CHANGED(cls, **kwargs): | |
| return float("nan") | |
| def load(self, file_path): | |
| try: | |
| with open(file_path, "r", encoding="utf-8") as f: | |
| return (f.read(),) | |
| except Exception as e: | |
| print(f"[LoadTextFile] Error reading '{file_path}': {e}") | |
| return ("",) | |
| NODE_CLASS_MAPPINGS = { | |
| "Number Counter": SimpleNumberCounter, | |
| "Constant Number": SimpleConstantNumber, | |
| "Logic Boolean": SimpleLogicBoolean, | |
| "StringFromList": StringFromList, | |
| "LoadTextFile": LoadTextFile, | |
| } | |
| NODE_DISPLAY_NAME_MAPPINGS = { | |
| "Number Counter": "Number Counter (Simple)", | |
| "Constant Number": "Constant Number (Simple)", | |
| "Logic Boolean": "Logic Boolean (Simple)", | |
| "StringFromList": "String From List", | |
| "LoadTextFile": "Load Text File (Simple)", | |
| } | |