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
| import { app } from "../../../scripts/app.js"; | |
| const REPEATER = "Repeater|pysssss"; | |
| app.registerExtension({ | |
| name: "pysssss.Repeater", | |
| init() { | |
| const graphToPrompt = app.graphToPrompt; | |
| app.graphToPrompt = async function () { | |
| const res = await graphToPrompt.apply(this, arguments); | |
| const id = Date.now() + "_"; | |
| let u = 0; | |
| let newNodes = {}; | |
| const newRepeaters = {}; | |
| for (const nodeId in res.output) { | |
| let output = res.output[nodeId]; | |
| if (output.class_type === REPEATER) { | |
| const isMulti = output.inputs.output === "multi"; | |
| if (output.inputs.node_mode === "create") { | |
| // We need to clone the input for every repeat | |
| const orig = res.output[output.inputs.source[0]]; | |
| if (isMulti) { | |
| if (!newRepeaters[nodeId]) { | |
| newRepeaters[nodeId] = []; | |
| newRepeaters[nodeId][output.inputs.repeats - 1] = nodeId; | |
| } | |
| } | |
| for (let i = 0; i < output.inputs.repeats - 1; i++) { | |
| const clonedInputId = id + ++u; | |
| if (isMulti) { | |
| // If multi create we need to clone the repeater too | |
| newNodes[clonedInputId] = structuredClone(orig); | |
| output = structuredClone(output); | |
| const clonedRepeaterId = id + ++u; | |
| newNodes[clonedRepeaterId] = output; | |
| output.inputs["source"][0] = clonedInputId; | |
| newRepeaters[nodeId][i] = clonedRepeaterId; | |
| } else { | |
| newNodes[clonedInputId] = orig; | |
| } | |
| output.inputs[clonedInputId] = [clonedInputId, output.inputs.source[1]]; | |
| } | |
| } else if (isMulti) { | |
| newRepeaters[nodeId] = Array(output.inputs.repeats).fill(nodeId); | |
| } | |
| } | |
| } | |
| Object.assign(res.output, newNodes); | |
| newNodes = {}; | |
| for (const nodeId in res.output) { | |
| const output = res.output[nodeId]; | |
| for (const k in output.inputs) { | |
| const v = output.inputs[k]; | |
| if (v instanceof Array) { | |
| const repeaterId = v[0]; | |
| const source = newRepeaters[repeaterId]; | |
| if (source) { | |
| v[0] = source.pop(); | |
| v[1] = 0; | |
| } | |
| } | |
| } | |
| } | |
| // Object.assign(res.output, newNodes); | |
| return res; | |
| }; | |
| }, | |
| beforeRegisterNodeDef(nodeType, nodeData, app) { | |
| if (nodeData.name === REPEATER) { | |
| const SETUP_OUTPUTS = Symbol(); | |
| nodeType.prototype[SETUP_OUTPUTS] = function (repeats) { | |
| if (repeats == null) { | |
| repeats = this.widgets[0].value; | |
| } | |
| while (this.outputs.length > repeats) { | |
| this.removeOutput(repeats); | |
| } | |
| const id = Date.now() + "_"; | |
| let u = 0; | |
| while (this.outputs.length < repeats) { | |
| this.addOutput(id + ++u, "*", { label: "*" }); | |
| } | |
| }; | |
| const onAdded = nodeType.prototype.onAdded; | |
| nodeType.prototype.onAdded = function () { | |
| const self = this; | |
| const repeatsCb = this.widgets[0].callback; | |
| this.widgets[0].callback = async function () { | |
| const v = (await repeatsCb?.apply(this, arguments)) ?? this.value; | |
| if (self.widgets[1].value === "multi") { | |
| self[SETUP_OUTPUTS](v); | |
| } | |
| return v; | |
| }; | |
| const outputCb = this.widgets[1].callback; | |
| this.widgets[1].callback = async function () { | |
| const v = (await outputCb?.apply(this, arguments)) ?? this.value; | |
| if (v === "single") { | |
| self.outputs[0].shape = 6; | |
| self[SETUP_OUTPUTS](1); | |
| } else { | |
| delete self.outputs[0].shape; | |
| self[SETUP_OUTPUTS](); | |
| } | |
| return v; | |
| }; | |
| return onAdded?.apply(this, arguments); | |
| }; | |
| } | |
| }, | |
| }); | |