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
- 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
| from collections import deque | |
| from datetime import datetime | |
| import io | |
| import logging | |
| import sys | |
| import threading | |
| ANSI_NAMED_COLORS = { | |
| 'black': '\033[30m', | |
| 'red': '\033[31m', | |
| 'green': '\033[32m', | |
| 'yellow': '\033[33m', | |
| 'blue': '\033[34m', | |
| 'magenta': '\033[35m', | |
| 'cyan': '\033[36m', | |
| 'white': '\033[37m', | |
| } | |
| ANSI_LEVEL_COLORS = { | |
| 'DEBUG': ANSI_NAMED_COLORS['cyan'], | |
| 'INFO': ANSI_NAMED_COLORS['green'], | |
| 'WARNING': ANSI_NAMED_COLORS['yellow'], | |
| 'ERROR': ANSI_NAMED_COLORS['red'], | |
| 'CRITICAL': ANSI_NAMED_COLORS['magenta'], | |
| } | |
| ANSI_RESET = '\033[0m' | |
| ANSI_BOLD = '\033[1m' | |
| class ColoredFormatter(logging.Formatter): | |
| def format(self, record): | |
| color = ANSI_LEVEL_COLORS.get(record.levelname, '') | |
| bold = ANSI_BOLD if record.levelno >= logging.WARNING else '' | |
| level_tag = f"{bold}{color}[{record.levelname}]{ANSI_RESET} " | |
| message = super().format(record) | |
| line_color = ANSI_NAMED_COLORS.get(getattr(record, 'color', ''), '') | |
| if line_color: | |
| return f"{level_tag}{line_color}{message}{ANSI_RESET}" | |
| return level_tag + message | |
| logs = None | |
| stdout_interceptor = None | |
| stderr_interceptor = None | |
| class LogInterceptor(io.TextIOWrapper): | |
| def __init__(self, stream, *args, **kwargs): | |
| buffer = stream.buffer | |
| encoding = stream.encoding | |
| super().__init__(buffer, *args, **kwargs, encoding=encoding, line_buffering=stream.line_buffering) | |
| self._lock = threading.Lock() | |
| self._flush_callbacks = [] | |
| self._logs_since_flush = [] | |
| def write(self, data): | |
| entry = {"t": datetime.now().isoformat(), "m": data} | |
| with self._lock: | |
| self._logs_since_flush.append(entry) | |
| # Simple handling for cr to overwrite the last output if it isnt a full line | |
| # else logs just get full of progress messages | |
| if isinstance(data, str) and data.startswith("\r") and not logs[-1]["m"].endswith("\n"): | |
| logs.pop() | |
| logs.append(entry) | |
| super().write(data) | |
| def flush(self): | |
| super().flush() | |
| for cb in self._flush_callbacks: | |
| cb(self._logs_since_flush) | |
| self._logs_since_flush = [] | |
| def on_flush(self, callback): | |
| self._flush_callbacks.append(callback) | |
| def get_logs(): | |
| return logs | |
| def on_flush(callback): | |
| if stdout_interceptor is not None: | |
| stdout_interceptor.on_flush(callback) | |
| if stderr_interceptor is not None: | |
| stderr_interceptor.on_flush(callback) | |
| def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool = False): | |
| global logs | |
| if logs: | |
| return | |
| # Override output streams and log to buffer | |
| logs = deque(maxlen=capacity) | |
| global stdout_interceptor | |
| global stderr_interceptor | |
| stdout_interceptor = sys.stdout = LogInterceptor(sys.stdout) | |
| stderr_interceptor = sys.stderr = LogInterceptor(sys.stderr) | |
| # Setup default global logger | |
| logger = logging.getLogger() | |
| logger.setLevel(log_level) | |
| formatter = ColoredFormatter("%(message)s") | |
| stream_handler = logging.StreamHandler() | |
| stream_handler.setFormatter(formatter) | |
| if use_stdout: | |
| # Only errors and critical to stderr | |
| stream_handler.addFilter(lambda record: not record.levelno < logging.ERROR) | |
| # Lesser to stdout | |
| stdout_handler = logging.StreamHandler(sys.stdout) | |
| stdout_handler.setFormatter(formatter) | |
| stdout_handler.addFilter(lambda record: record.levelno < logging.ERROR) | |
| logger.addHandler(stdout_handler) | |
| logger.addHandler(stream_handler) | |
| STARTUP_WARNINGS = [] | |
| def log_startup_warning(msg): | |
| logging.warning(msg) | |
| STARTUP_WARNINGS.append(msg) | |
| def print_startup_warnings(): | |
| for s in STARTUP_WARNINGS: | |
| logging.warning(s) | |
| STARTUP_WARNINGS.clear() | |