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
| from datetime import date | |
| from enum import Enum | |
| from typing import Any | |
| from pydantic import BaseModel, Field | |
| class GeminiSafetyCategory(str, Enum): | |
| HARM_CATEGORY_SEXUALLY_EXPLICIT = "HARM_CATEGORY_SEXUALLY_EXPLICIT" | |
| HARM_CATEGORY_HATE_SPEECH = "HARM_CATEGORY_HATE_SPEECH" | |
| HARM_CATEGORY_HARASSMENT = "HARM_CATEGORY_HARASSMENT" | |
| HARM_CATEGORY_DANGEROUS_CONTENT = "HARM_CATEGORY_DANGEROUS_CONTENT" | |
| class GeminiSafetyThreshold(str, Enum): | |
| OFF = "OFF" | |
| BLOCK_NONE = "BLOCK_NONE" | |
| BLOCK_LOW_AND_ABOVE = "BLOCK_LOW_AND_ABOVE" | |
| BLOCK_MEDIUM_AND_ABOVE = "BLOCK_MEDIUM_AND_ABOVE" | |
| BLOCK_ONLY_HIGH = "BLOCK_ONLY_HIGH" | |
| class GeminiSafetySetting(BaseModel): | |
| category: GeminiSafetyCategory | |
| threshold: GeminiSafetyThreshold | |
| class GeminiRole(str, Enum): | |
| user = "user" | |
| model = "model" | |
| class GeminiMimeType(str, Enum): | |
| application_pdf = "application/pdf" | |
| audio_mpeg = "audio/mpeg" | |
| audio_mp3 = "audio/mp3" | |
| audio_wav = "audio/wav" | |
| image_png = "image/png" | |
| image_jpeg = "image/jpeg" | |
| image_webp = "image/webp" | |
| text_plain = "text/plain" | |
| video_mov = "video/mov" | |
| video_mpeg = "video/mpeg" | |
| video_mp4 = "video/mp4" | |
| video_mpg = "video/mpg" | |
| video_avi = "video/avi" | |
| video_wmv = "video/wmv" | |
| video_mpegps = "video/mpegps" | |
| video_flv = "video/flv" | |
| class GeminiInlineData(BaseModel): | |
| data: str | None = Field( | |
| None, | |
| description="The base64 encoding of the image, PDF, or video to include inline in the prompt. " | |
| "When including media inline, you must also specify the media type (mimeType) of the data. Size limit: 20MB", | |
| ) | |
| mimeType: GeminiMimeType | None = Field(None) | |
| class GeminiFileData(BaseModel): | |
| fileUri: str | None = Field(None) | |
| mimeType: GeminiMimeType | None = Field(None) | |
| class GeminiPart(BaseModel): | |
| inlineData: GeminiInlineData | None = Field(None) | |
| fileData: GeminiFileData | None = Field(None) | |
| text: str | None = Field(None) | |
| thought: bool | None = Field(None) | |
| class GeminiTextPart(BaseModel): | |
| text: str | None = Field(None) | |
| class GeminiContent(BaseModel): | |
| parts: list[GeminiPart] = Field([]) | |
| role: GeminiRole = Field(..., examples=["user"]) | |
| class GeminiSystemInstructionContent(BaseModel): | |
| parts: list[GeminiTextPart] = Field( | |
| ..., | |
| description="A list of ordered parts that make up a single message. " | |
| "Different parts may have different IANA MIME types.", | |
| ) | |
| role: GeminiRole | None = Field(..., description="The role field of systemInstruction may be ignored.") | |
| class GeminiFunctionDeclaration(BaseModel): | |
| description: str | None = Field(None) | |
| name: str = Field(...) | |
| parameters: dict[str, Any] = Field(..., description="JSON schema for the function parameters") | |
| class GeminiTool(BaseModel): | |
| functionDeclarations: list[GeminiFunctionDeclaration] | None = Field(None) | |
| class GeminiOffset(BaseModel): | |
| nanos: int | None = Field(None, ge=0, le=999999999) | |
| seconds: int | None = Field(None, ge=-315576000000, le=315576000000) | |
| class GeminiVideoMetadata(BaseModel): | |
| endOffset: GeminiOffset | None = Field(None) | |
| startOffset: GeminiOffset | None = Field(None) | |
| class GeminiGenerationConfig(BaseModel): | |
| maxOutputTokens: int | None = Field(None, ge=16, le=8192) | |
| seed: int | None = Field(None) | |
| stopSequences: list[str] | None = Field(None) | |
| temperature: float | None = Field(None, ge=0.0, le=2.0) | |
| topK: int | None = Field(None, ge=1) | |
| topP: float | None = Field(None, ge=0.0, le=1.0) | |
| class GeminiImageOutputOptions(BaseModel): | |
| mimeType: str = Field("image/png") | |
| compressionQuality: int | None = Field(None) | |
| class GeminiImageConfig(BaseModel): | |
| aspectRatio: str | None = Field(None) | |
| imageSize: str | None = Field(None) | |
| imageOutputOptions: GeminiImageOutputOptions = Field(default_factory=GeminiImageOutputOptions) | |
| class GeminiThinkingConfig(BaseModel): | |
| includeThoughts: bool | None = Field(None) | |
| thinkingLevel: str = Field(...) | |
| class GeminiImageGenerationConfig(GeminiGenerationConfig): | |
| responseModalities: list[str] | None = Field(None) | |
| imageConfig: GeminiImageConfig | None = Field(None) | |
| thinkingConfig: GeminiThinkingConfig | None = Field(None) | |
| class GeminiImageGenerateContentRequest(BaseModel): | |
| contents: list[GeminiContent] = Field(...) | |
| generationConfig: GeminiImageGenerationConfig | None = Field(None) | |
| safetySettings: list[GeminiSafetySetting] | None = Field(None) | |
| systemInstruction: GeminiSystemInstructionContent | None = Field(None) | |
| tools: list[GeminiTool] | None = Field(None) | |
| videoMetadata: GeminiVideoMetadata | None = Field(None) | |
| uploadImagesToStorage: bool = Field(True) | |
| class GeminiGenerateContentRequest(BaseModel): | |
| contents: list[GeminiContent] = Field(...) | |
| generationConfig: GeminiGenerationConfig | None = Field(None) | |
| safetySettings: list[GeminiSafetySetting] | None = Field(None) | |
| systemInstruction: GeminiSystemInstructionContent | None = Field(None) | |
| tools: list[GeminiTool] | None = Field(None) | |
| videoMetadata: GeminiVideoMetadata | None = Field(None) | |
| class Modality(str, Enum): | |
| MODALITY_UNSPECIFIED = "MODALITY_UNSPECIFIED" | |
| TEXT = "TEXT" | |
| IMAGE = "IMAGE" | |
| VIDEO = "VIDEO" | |
| AUDIO = "AUDIO" | |
| DOCUMENT = "DOCUMENT" | |
| class ModalityTokenCount(BaseModel): | |
| modality: Modality | None = None | |
| tokenCount: int | None = Field(None, description="Number of tokens for the given modality.") | |
| class Probability(str, Enum): | |
| NEGLIGIBLE = "NEGLIGIBLE" | |
| LOW = "LOW" | |
| MEDIUM = "MEDIUM" | |
| HIGH = "HIGH" | |
| UNKNOWN = "UNKNOWN" | |
| class GeminiSafetyRating(BaseModel): | |
| category: GeminiSafetyCategory | None = None | |
| probability: Probability | None = Field( | |
| None, | |
| description="The probability that the content violates the specified safety category", | |
| ) | |
| class GeminiCitation(BaseModel): | |
| authors: list[str] | None = None | |
| endIndex: int | None = None | |
| license: str | None = None | |
| publicationDate: date | None = None | |
| startIndex: int | None = None | |
| title: str | None = None | |
| uri: str | None = None | |
| class GeminiCitationMetadata(BaseModel): | |
| citations: list[GeminiCitation] | None = None | |
| class GeminiCandidate(BaseModel): | |
| citationMetadata: GeminiCitationMetadata | None = None | |
| content: GeminiContent | None = None | |
| finishReason: str | None = None | |
| safetyRatings: list[GeminiSafetyRating] | None = None | |
| class GeminiPromptFeedback(BaseModel): | |
| blockReason: str | None = None | |
| blockReasonMessage: str | None = None | |
| safetyRatings: list[GeminiSafetyRating] | None = None | |
| class GeminiUsageMetadata(BaseModel): | |
| cachedContentTokenCount: int | None = Field( | |
| None, | |
| description="Output only. Number of tokens in the cached part in the input (the cached content).", | |
| ) | |
| candidatesTokenCount: int | None = Field(None, description="Number of tokens in the response(s).") | |
| candidatesTokensDetails: list[ModalityTokenCount] | None = Field( | |
| None, description="Breakdown of candidate tokens by modality." | |
| ) | |
| promptTokenCount: int | None = Field( | |
| None, | |
| description="Number of tokens in the request. When cachedContent is set, this is still the total effective prompt size meaning this includes the number of tokens in the cached content.", | |
| ) | |
| promptTokensDetails: list[ModalityTokenCount] | None = Field( | |
| None, description="Breakdown of prompt tokens by modality." | |
| ) | |
| thoughtsTokenCount: int | None = Field(None, description="Number of tokens present in thoughts output.") | |
| toolUsePromptTokenCount: int | None = Field(None, description="Number of tokens present in tool-use prompt(s).") | |
| class GeminiGenerateContentResponse(BaseModel): | |
| candidates: list[GeminiCandidate] | None = Field(None) | |
| promptFeedback: GeminiPromptFeedback | None = Field(None) | |
| usageMetadata: GeminiUsageMetadata | None = Field(None) | |
| modelVersion: str | None = Field(None) | |