Nodes/ComfyUI_MieNodes/Set SiliconFlow Jev (System One Decision) LLM Service Connector ๐Ÿ‘
ComfyUI Node

Set SiliconFlow Jev (System One Decision) LLM Service Connector ๐Ÿ‘

This one isn't a chat model, and the endpoint proves it

By MieMieeeeeยทCreated 2 years agoยทUpdated 3 days agoยท 273
Set SiliconFlow Jev (System One Decision) LLM Service Connector ๐Ÿ‘
    • llm_service_connector
    โ—„api_tokenโ–บ
    โ—„model_selectKev-4Bโ–บ
    โ—„custom_modelโ–บ
    โ—„config_filemie_llm_keys.jsonโ–บ
    โ—„config_keysiliconflowโ–บ
    โ—„prefer_local_configtrueโ–บ

    What it is

    Every other connector in this pack talks to a chat model. This one doesn't, and if you wire it into CallLLMService you'll get a confusing error instead of a reply. It reaches the Jev / System One decision models SiliconFlow hosts - Kev-4B, SemIf, diffusiongemma, open replicas of TypeSafe's Jev - which don't write prose at all. You hand them a piece of state plus a set of questions, and they hand back structured answers.

    The endpoint is the giveaway. Chat models in this pack all live at /v1/chat/completions. This connector posts to https://api.siliconflow.cn/v1/systemone, because the chat endpoint rejects these models with a 400. If you point a normal chat node at them, that's the failure you get.

    Reach for it when you want a decision inside a workflow rather than a sentence: is this draft acceptable, which of these categories does this input fall into, how severe is it. The partner node is CallJevDecision, and it's the only thing in the pack you can sensibly wire this output into.

    Worth saying plainly since there's no community footprint for this at all - the pack is the only place this integration exists as far as the reddit corpus is concerned, which is why there's a dedicated connector for it rather than a general "OpenAI-compatible" instruction: the replicas were free during the promo window running to 2026-10-08, and your existing SiliconFlow key is all it takes. Cheap experiment, genuinely unusual capability.

    How it works

    Same shape as its siblings - token and model in, one llm_service_connector socket out. What differs is the object behind the socket. It has no chat invoke() worth using: calling one raises an exception that tells you to use CallJevDecision instead. Its real method is ask(state, questions), which POSTs a {model, state, questions} payload and returns the raw response dict - model, answers, usage.

    Under the hood it's the shared base class, so you keep the good parts: a Bearer key, a 30-second per-request timeout, three retries five seconds apart on timeouts/connection errors/5xx, and 4xx errors raised immediately rather than retried (a 401 won't be hammered three times).

    One genuinely nice detail: config_key defaults to siliconflow, not a Jev-specific slot. It reuses the same key you already put in mie_llm_keys.json for SiliconFlow's chat tier. And if you read the pack's own documentation on this connector, you'll see it notes the model is fine to share across both.

    The inputs that matter

    api_token - your SiliconFlow key, same one as the chat tier. Leave blank if it's in the file.

    model_select - Kev-4B (default), SemIf, diffusiongemma, or Custom. These aren't "pick the smartest" models; they're decision models with different benchmark fits. Start with the default, and if the questions you're asking come back mushy, try the other two - it costs you a dropdown change.

    custom_model - with Custom, for anything newer SiliconFlow lists.

    config_file, config_key (default siliconflow), prefer_local_config. Output: llm_service_connector.

    Installing and keying it

    cd ComfyUI/custom_nodes
    git clone https://github.com/MieMieeeee/ComfyUI-MieNodes
    cd ComfyUI-MieNodes && python -m pip install -r requirements.txt
    

    Restart. Manager: search ComfyUI_MieNodes. No weights, no GPU load - this is a decision model running on someone else's hardware.

    cp mie_llm_keys.json.example mie_llm_keys.json
    # "siliconflow": "sk-..."
    

    Same rule as every connector in this pack: prefer_local_config defaults to True, so the file wins over the node's api_token box. If you already have a siliconflow key in the file for the chat node, this connector picks it up with zero extra work.

    Common issues

    "โ€ฆneeds a Jev connectorโ€ฆ (got a chat connector)." You wired SetSiliconFlowLLMServiceConnector instead of this node, or the reverse - a chat node pointed at this output. This connector only works with CallJevDecision; that node only works with this connector. They're paired.

    400 from /v1/chat/completions. You sent a decision model to the chat endpoint. Use this node.

    401. Same shared-key failure mode as the rest of the pack: check that the siliconflow slot holds a valid key and that no stale value is shadowing the one you typed into the node.

    Free tier gotchas. The replicas were free during the promo window that ends 2026-10-08, which is exactly the kind of thing that changes without a version bump in a node pack. If a call that used to work now 402s or 429s, check the current pricing on SiliconFlow's site before you debug the graph. The connector itself won't warn you - it just reports the HTTP status.

    Category๐Ÿ‘ MieNodes/๐Ÿ‘ LLM Service Config

    Inputs (6)

    NameTypeDefaultDescription
    api_tokenSTRINGโ€”
    model_selectCOMBOKev-4B4 options: Kev-4B, SemIf, diffusiongemma, Custom
    custom_modeloptSTRINGโ€”
    config_fileoptSTRINGmie_llm_keys.jsonโ€”
    config_keyoptSTRINGsiliconflowโ€”
    prefer_local_configoptBOOLEANtrueโ€”

    Outputs (1)

    NameTypeDescription
    llm_service_connectorLLMServiceConnectorโ€”