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
| """Tests for comfy.deploy_environment.""" | |
| import os | |
| import pytest | |
| from comfy import deploy_environment | |
| from comfy.deploy_environment import get_deploy_environment | |
| def _reset_cache_and_install_dir(tmp_path, monkeypatch): | |
| """Reset the functools cache and point the ComfyUI install dir at a tmp dir for each test.""" | |
| get_deploy_environment.cache_clear() | |
| monkeypatch.setattr(deploy_environment, "_COMFY_INSTALL_DIR", str(tmp_path)) | |
| yield | |
| get_deploy_environment.cache_clear() | |
| def _write_env_file(tmp_path, content: str) -> str: | |
| """Write the env file with exact content (no newline translation). | |
| `newline=""` disables Python's text-mode newline translation so the bytes | |
| on disk match the literal string passed in, regardless of host OS. | |
| Newline-style tests (CRLF, lone CR) rely on this. | |
| """ | |
| path = os.path.join(str(tmp_path), ".comfy_environment") | |
| with open(path, "w", encoding="utf-8", newline="") as f: | |
| f.write(content) | |
| return path | |
| class TestGetDeployEnvironment: | |
| def test_returns_local_git_when_file_missing(self): | |
| assert get_deploy_environment() == "local-git" | |
| def test_reads_value_from_file(self, tmp_path): | |
| _write_env_file(tmp_path, "local-desktop2-standalone\n") | |
| assert get_deploy_environment() == "local-desktop2-standalone" | |
| def test_strips_trailing_whitespace_and_newline(self, tmp_path): | |
| _write_env_file(tmp_path, " local-desktop2-standalone \n") | |
| assert get_deploy_environment() == "local-desktop2-standalone" | |
| def test_only_first_line_is_used(self, tmp_path): | |
| _write_env_file(tmp_path, "first-line\nsecond-line\n") | |
| assert get_deploy_environment() == "first-line" | |
| def test_crlf_line_ending(self, tmp_path): | |
| # Windows editors often save text files with CRLF line endings. | |
| # The CR must not end up in the returned value. | |
| _write_env_file(tmp_path, "local-desktop2-standalone\r\n") | |
| assert get_deploy_environment() == "local-desktop2-standalone" | |
| def test_crlf_multiline_only_first_line_used(self, tmp_path): | |
| _write_env_file(tmp_path, "first-line\r\nsecond-line\r\n") | |
| assert get_deploy_environment() == "first-line" | |
| def test_crlf_with_surrounding_whitespace(self, tmp_path): | |
| _write_env_file(tmp_path, " local-desktop2-standalone \r\n") | |
| assert get_deploy_environment() == "local-desktop2-standalone" | |
| def test_lone_cr_line_ending(self, tmp_path): | |
| # Classic-Mac / some legacy editors use a bare CR. | |
| # Universal-newlines decoding treats it as a line terminator too. | |
| _write_env_file(tmp_path, "local-desktop2-standalone\r") | |
| assert get_deploy_environment() == "local-desktop2-standalone" | |
| def test_empty_file_falls_back_to_default(self, tmp_path): | |
| _write_env_file(tmp_path, "") | |
| assert get_deploy_environment() == "local-git" | |
| def test_empty_after_whitespace_strip_falls_back_to_default(self, tmp_path): | |
| _write_env_file(tmp_path, " \n") | |
| assert get_deploy_environment() == "local-git" | |
| def test_strips_control_chars_within_first_line(self, tmp_path): | |
| # Embedded NUL/control chars in the value should be stripped | |
| # (header-injection / smuggling protection). | |
| _write_env_file(tmp_path, "abc\x00\x07xyz\n") | |
| assert get_deploy_environment() == "abcxyz" | |
| def test_strips_non_ascii_characters(self, tmp_path): | |
| _write_env_file(tmp_path, "café-é\n") | |
| assert get_deploy_environment() == "caf-" | |
| def test_caps_read_at_128_bytes(self, tmp_path): | |
| # A single huge line with no newline must not be fully read into memory. | |
| huge = "x" * 10_000 | |
| _write_env_file(tmp_path, huge) | |
| result = get_deploy_environment() | |
| assert result == "x" * 128 | |
| def test_result_is_cached_across_calls(self, tmp_path): | |
| path = _write_env_file(tmp_path, "first_value\n") | |
| assert get_deploy_environment() == "first_value" | |
| # Overwrite the file — cached value should still be returned. | |
| with open(path, "w", encoding="utf-8") as f: | |
| f.write("second_value\n") | |
| assert get_deploy_environment() == "first_value" | |
| def test_unreadable_file_falls_back_to_default(self, tmp_path, monkeypatch): | |
| _write_env_file(tmp_path, "should_not_be_used\n") | |
| def _boom(*args, **kwargs): | |
| raise OSError("simulated read failure") | |
| monkeypatch.setattr("builtins.open", _boom) | |
| assert get_deploy_environment() == "local-git" | |