Nodes/ConCarneNode/Hermes Chat
ComfyUI Node

Hermes Chat

A 7B prompt-writer in your graph, bug and all

By concarne000·Created 3 years ago·Updated 2 years ago· 5
Hermes Chat
    • STRING
    promptA list of interesting subjects for photographs are as follows:

    Hermes Chat is the bigger sibling of the pack's Zephyr node: same idea - run a chat model inside ComfyUI, get a STRING of generated text - but backed by OpenHermes 2.5, a 7B Mistral finetune, instead of a 3B. More model, better prose, heavier install. You type a theme, it returns a list of prompts, and you wire that list into your sampler. Same job, bigger engine.

    And it needs the warning up front, because this is the trap of the three-node pack: as shipped, Hermes Chat crashes the first time you run it. The current release builds its prompt template with a variable called system_message that is never defined anywhere in the code, so executing the node raises a NameError. You're not doing anything wrong - the node is broken. It's a one-line fix, and I'll give it to you below, but know going in that this isn't a set-and-forget install.

    How it works

    On first execution the node loads TheBloke/OpenHermes-2.5-Mistral-7B-GPTQ from HuggingFace - that's a GPTQ 4-bit quantized Mistral 7B, roughly 4–5GB to download. It wraps your prompt in OpenHermes' chat template (the <|im_start|>system / user / assistant format), generates up to 512 tokens at temperature 0.7 with top_p 0.95 and top_k 40, and returns the decoded text as a STRING. It uses device_map="auto" but then calls .cuda() directly on the input tokens - so unlike Zephyr, there is no graceful CPU fallback. You need a CUDA GPU, full stop.

    The fix

    Before the node is usable, patch custom_nodes/ConCarneNode/__init__.py and add a line inside the test method, right before the prompt template:

    def test(self, prompt):
        ...
        system_message = "You are a helpful assistant."
        prompt_template=f'''<|im_start|>system
            {system_message}<|im_end|>
            ...
    

    Then restart ComfyUI. That's the entire bug. If the maintainer ever ships a fix upstream, pull and you're done.

    Inputs and outputs

    Same minimal surface as Zephyr:

    • prompt (STRING) - your instruction or theme, defaulting to the "list of interesting subjects for photographs" opener.

    One output, a STRING, meant to feed prompt fields, text concat nodes, or a search-term input. Nothing else to configure.

    Installing it

    Standard pack install - ComfyUI Manager, search ConCarneNode:

    cd ComfyUI/custom_nodes
    git clone https://github.com/concarne000/ConCarneNode
    # restart ComfyUI
    

    The dependencies are where this node gets spicy. requirements.txt installs auto-gptq from HuggingFace's CUDA 11.8 wheel index - that's a 2023-era pin. On a modern CUDA 12.x system that wheel can refuse to install, and you'll need a newer auto-gptq from PyPI instead. transformers is also required and isn't in the requirements file, so if the whole pack fails to import, install it. Add a 4–5GB model download on first run, and you've got the pack's heaviest, fiddliest node by a mile.

    Where people get burned

    • The NameError above - the bug, not you.
    • The auto-gptq cu118 pin conflicting with your CUDA version.
    • Missing transformers taking down all three nodes at once.
    • The same caching behavior as Zephyr: no IS_CHANGED override, so identical inputs return the cached output. Change the prompt to force a fresh generation.
    • No seed control and a fixed temperature 0.7 baked into the code, so you can't tune creativity from the UI.

    Honest take: if you just want a local 7B prompt-writer in ComfyUI, this node works once you patch it - OpenHermes 2.5 writes distinctly better than the pack's 3B. But between the shipping bug, the stale CUDA pin, and the missing-dependency roulette, this is the shakiest of the three nodes, and for a lot of people the smarter move is skipping it entirely and running a modern local model through Ollama, then pasting the results in. Hermes Chat is for when you want the whole loop inside the graph and don't mind a little surgery to get there.

    CategoryConCarne

    Inputs (1)

    NameTypeDefaultDescription
    promptSTRINGA list of interesting subjects for photographs are as follows:

    Outputs (1)

    NameTypeDescription
    STRINGSTRING