Nodes/Allma Nodes/Allma Connectivity
ComfyUI Node

Allma Connectivity

Where the LLM backend lives and how it thinks

By OliveiraNickolas·Created 24 days ago·Updated 22 days ago· 0
Allma Connectivity
    • connectivity
    host127.0.0.1
    port9000
    timeout120
    model
    thinkingfalse
    effortmedium
    temperature1.00
    top_p0.95
    top_k20
    max_tokens2048
    seed-1
    show_samplingfalse

    Most ComfyUI LLM setups make you bolt the settings onto every prompt node, so three Generate nodes means three copies of the same host, port and sampling dials - and three chances to forget you changed one. AllmaNodes does it differently. Allma Connectivity is a single node that holds everything about the conversation with the model: where the server lives, which model, and how to sample from it. Wire one of these into every Allma Generate on the same backend and they all share a single set of settings. You can't forget to sync them, because there's nothing to sync.

    The settings that matter

    • host / port / timeout - the backend, defaulting to 127.0.0.1:9000. The timeout is per read, not per answer, so a long but steadily progressing generation won't trip it. Bump it for slow first-time model loads.
    • model - a dropdown filled from GET /v1/models, so it lists what the backend actually has. Nice touch: the last model you actually ran becomes the default for every new Connectivity node, in any workflow, so you stop re-picking it.
    • thinking - OFF sends chat_template_kwargs.enable_thinking = false, which Qwen-style templates respect, so the model skips the <think> block and answers directly. ON lets it reason first, and the reasoning lands on Generate's dedicated thinking output instead of leaking into the answer. The trap: thinking and the answer share the same max_tokens budget, so with a tight budget a model can spend the whole thing reasoning and return an empty answer. Allma Generate reports that on its status output rather than failing silently.
    • effort - low / medium / xhigh, sent as reasoning_effort. It's not a token budget and not a quality dial - it changes how much the model narrates its way to the answer. Three levels because three is all the model actually distinguishes; wilder names (minimal, max, ultra) fold onto them, and anything unrecognized silently becomes medium.
    • temperature / top_p / top_k / max_tokens / seed - standard sampling, nothing exotic.
    • show_sampling - flips off the five sampling widgets so you can't nudge them by mistake while dragging the node. Values survive either way.

    Output is a single connectivity link of type ALLMA_CONNECTIVITY, which is what Generate consumes. There's nothing to unpack manually - it's a token that says "talk to this backend, this way."

    What you need running

    This is the LLM side of the pack, so it needs a backend: the author's own Allma server (default 127.0.0.1:9000) or any OpenAI-compatible endpoint. The node itself does nothing without one - the model dropdown will just read "(allma offline - check host/port)". The utilities in the same pack don't need any of this; Connectivity and its LLM siblings are a self-contained group.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/OliveiraNickolas/AllmaNodes
    

    Restart ComfyUI. No pip install - stdlib plus torch/PIL only. Getting a model loaded is on the backend, not on this node: start Allma, load a model, then let Connectivity discover it.

    One honest caveat: the whole pack is days old and completely untested in the community - no reddit threads, no shared workflows to crib from. The mechanism here is plain HTTP plus chat_template_kwargs, so it's readable and the failure modes are documented in the README (shared token budget, effort aliases folding, backends that ignore the thinking flag - run the same prompt with thinking ON and OFF; identical output means the flag was dropped). Those are the things to watch, not exotic bugs.

    CategoryAllma/llm

    Inputs (12)

    NameTypeDefaultDescription
    hostSTRING127.0.0.1
    portINT90001–65535
    timeoutINT1205–3600Max seconds per request. Bump for slow first-time loads.
    modelCOMBO1 options: (allma offline — check host/port)
    thinkingBOOLEANfalseOFF: the model skips the <think> block and answers directly. ON: it reasons first, and the reasoning comes back on Allma Generate's 'thinking' output instead of leaking into 'output_prompt'. Note the reasoning spends the SAME max_tokens budget as the answer.
    effortCOMBOmediumHow long the model reasons when 'thinking' is ON. Not a token budget and it does not lower answer quality — it changes how much the model narrates its way to the answer. A .allm profile declaring @reasoning-effort overrides this.
    temperatureFLOAT1.000–2
    top_pFLOAT0.950–1
    top_kINT200–5000 disables top_k.
    max_tokensINT204816–131072
    seedINT-1-1–2147483647-1 lets the backend choose (or is ignored).
    show_samplingBOOLEANfalseWhen OFF, hides the 5 sampling widgets (temperature, top_p, top_k, max_tokens, seed) so you don't nudge them by mistake while dragging the node. Their values are preserved either way.

    Outputs (1)

    NameTypeDescription
    connectivityALLMA_CONNECTIVITY