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
| // ComfyUI.mxToolkit.Stop v.0.9.7 - Max Smirnov 2024 | |
| import { app } from "../../scripts/app.js"; | |
| class MXStop | |
| { | |
| constructor(node) | |
| { | |
| this.node = node; | |
| this.node.properties = this.node.properties || {}; | |
| this.node.onGraphConfigured = function () | |
| { | |
| this.configured = true; | |
| } | |
| this.node.onConnectionsChange = function (type, index, connected, link_info) | |
| { | |
| if (link_info) | |
| { | |
| if (connected) | |
| { | |
| if (type === LiteGraph.INPUT) | |
| { | |
| const cnode = app.graph.getNodeById(link_info.origin_id); | |
| const ctype = cnode.outputs[link_info.origin_slot].type; | |
| const color = LGraphCanvas.link_type_colors[ctype]; | |
| this.outputs[0].type = ctype; | |
| this.outputs[0].name = ctype; | |
| this.inputs[0].type = ctype; | |
| if (link_info.id) { app.graph.links[link_info.id].color = color; } | |
| if (this.outputs[0].links !== null) | |
| for (let i = this.outputs[0].links.length; i > 0; i--) | |
| { | |
| const tlinkId = this.outputs[0].links[i-1]; | |
| const tlink = app.graph.links[tlinkId]; | |
| if (this.configured) if ( ctype !== tlink.type ) app.graph.getNodeById(tlink.target_id).disconnectInput(tlink.target_slot); | |
| } | |
| } | |
| if (type === LiteGraph.OUTPUT && this.inputs[0].link === null) | |
| { | |
| this.inputs[0].type = link_info.type; | |
| this.outputs[0].type = link_info.type; | |
| this.outputs[0].name = link_info.type; | |
| } | |
| } | |
| else if ((( type === LiteGraph.INPUT ) && ( this.outputs[0].links === null || this.outputs[0].links.length === 0 )) || (( type === LiteGraph.OUTPUT) && ( this.inputs[0].link === null ))) this.onAdded(); | |
| } | |
| this.computeSize(); | |
| }; | |
| this.node.onAdded = function () | |
| { | |
| this.inputs[0].type = "*"; | |
| this.outputs[0].name = ""; | |
| this.outputs[0].type = "*"; | |
| }; | |
| this.node.onMouseDown = function(e, pos, canvas) | |
| { | |
| let cWidth = this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH; | |
| if ( e.canvasY-this.pos[1] > 0 ) return false; | |
| if (this.flags.collapsed && (e.canvasX-this.pos[0] < LiteGraph.NODE_TITLE_HEIGHT)) return false; | |
| if (!this.flags.collapsed && ((e.canvasX-this.pos[0]) < (this.size[0]-cWidth+LiteGraph.NODE_TITLE_HEIGHT))) return false; | |
| this.updateThisNodeGraph?.(); | |
| this.onTmpMouseUp(e, pos, canvas); | |
| return true; | |
| } | |
| this.node.onTmpMouseUp = function(e, pos, canvas) | |
| { | |
| app.queuePrompt(0); | |
| } | |
| this.node.onDrawForeground = function(ctx) | |
| { | |
| this.configured = true; | |
| if (this.size[1] > LiteGraph.NODE_SLOT_HEIGHT*1.3) this.size[1] = LiteGraph.NODE_SLOT_HEIGHT*1.3; | |
| let titleHeight = LiteGraph.NODE_TITLE_HEIGHT; | |
| let cWidth = this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH; | |
| let buttonWidth = cWidth-titleHeight-6; | |
| let cx = (this.flags.collapsed?cWidth:this.size[0])-buttonWidth-6; | |
| ctx.fillStyle = this.color || LiteGraph.NODE_DEFAULT_COLOR; | |
| ctx.beginPath(); | |
| ctx.rect(cx, 2-titleHeight, buttonWidth, titleHeight-4); | |
| ctx.fill(); | |
| cx += buttonWidth/2; | |
| ctx.lineWidth = 1; | |
| if (this.mouseOver) | |
| { | |
| ctx.fillStyle = LiteGraph.NODE_SELECTED_TITLE_COLOR | |
| ctx.beginPath(); ctx.moveTo(cx-8,-titleHeight/2-8); ctx.lineTo(cx+0,-titleHeight/2); ctx.lineTo(cx-8,-titleHeight/2+8); ctx.fill(); | |
| ctx.beginPath(); ctx.moveTo(cx+1,-titleHeight/2-8); ctx.lineTo(cx+9,-titleHeight/2); ctx.lineTo(cx+1,-titleHeight/2+8); ctx.fill(); | |
| } | |
| else | |
| { | |
| ctx.fillStyle = (this.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR); | |
| ctx.beginPath(); ctx.rect(cx-10,-titleHeight/2-8, 4, 16); ctx.fill(); | |
| ctx.beginPath(); ctx.rect(cx-2,-titleHeight/2-8, 4, 16); ctx.fill(); | |
| } | |
| } | |
| this.node.computeSize = function() | |
| { | |
| return [ (this.properties.showOutputText && this.outputs && this.outputs.length) ? LiteGraph.NODE_TEXT_SIZE * (this.outputs[0].name.length+5) * 0.6 + 140 : 140, LiteGraph.NODE_SLOT_HEIGHT*1.3 ]; | |
| } | |
| } | |
| } | |
| app.registerExtension( | |
| { | |
| name: "mxStop", | |
| async beforeRegisterNodeDef(nodeType, nodeData, _app) | |
| { | |
| if (nodeData.name === "mxStop") | |
| { | |
| const onNodeCreated = nodeType.prototype.onNodeCreated; | |
| nodeType.prototype.onNodeCreated = function () { | |
| if (onNodeCreated) onNodeCreated.apply(this, []); | |
| this.mxStop = new MXStop(this); | |
| } | |
| } | |
| } | |
| }); | |