EmAySee Advanced Oobabooga Connector With Help
The Oobabooga connector that explains itself — tooltips on every knob
- answer
- thinking
- full_raw
EmAySee Advanced Oobabooga Connector With Help is the same node as the plain Advanced Oobabooga Connector - same API calls, same three outputs, same auto-continue loop - with two differences that matter a lot if you're new to LLM sampling: every single input has a hover tooltip explaining what it does, and the defaults have been tuned to actually work out of the box.
The tooltips are the reason this version exists, and they're genuinely good. Hover over min_p and it tells you it discards any token below 5% of the top token's probability. Hover over mirostat_mode and you learn it completely overrides temperature and top_p. The author clearly wrote these for people who've never touched a text-generation API - which is most ComfyUI users, who came for the images. If you're trying to figure out whether smoothing_factor matters (it usually doesn't), this node answers without a Google tab.
The default tuning is the other half. Where the plain version ships temperature 1.0 and top_p 1.0 (boilerplate "just send everything" values), this one ships temperature 0.78, top_p 0.95, min_p 0.05, top_k 20 - a real, workable sampling profile that produces coherent text instead of random soup. For a beginner, that's the difference between "wow, the LLM wrote a sensible prompt" and "why is it generating gibberish."
How it works
Mechanically identical to the non-Help connector: a POST to your Oobabooga /v1/chat/completions endpoint with the OpenAI chat schema, ~50 forwarded sampler settings, auto_continue re-calls when the model hits the token cap, and regex extraction of <think>...</think> reasoning into separate thinking and answer outputs. The implementation is the same code path - the class just annotates every parameter with a tooltip and swaps the defaults.
The inputs that matter
Same list as the base connector, so the short version:
- api_url - change it from
http://10.0.0.71:5000/v1/chat/completionsto your Oobabooga server's address. This is still the #1 gotcha. - api_key - default
supersecretkey; any value works if your server isn't enforcing auth. - prompt / system_prompt - where the real work happens. The author's own advice: these connectors need a carefully crafted instruction, not a bare sentence.
- temperature (0.78), top_p (0.95), min_p (0.05), top_k (20) - already sane; tweak from here.
Outputs: answer, thinking, full_raw (the raw JSON, pretty-printed).
Install
Same pack, same commands:
cd ComfyUI/custom_nodes
git clone https://github.com/EmAySee/ComfyUI_EmAySee_CustomNodes
Restart ComfyUI (or Manager → "ComfyUI_EmAySee_CustomNodes"). It appears under EmAySee/LLM alongside the non-Help version. Requires requests (ships with ComfyUI) and a running Oobabooga instance with --api enabled.
Gotchas
Because it's a second copy of the same node, you now have two connectors with near-identical names in your menu - easy to install the wrong one and wonder why your tooltips are missing. Same backend caveats apply: default URL is someone's LAN IP, stop_on_error defaults to True (workflow crashes on backend errors), and 600-second timeouts mean a hung server stalls you for ten minutes. The pack is hobbyware with an explicit no-support disclaimer, but of the two connectors this is the one I'd actually reach for - the tuned defaults alone are worth it, and the tooltips turn it into a tutorial every time you hover.
Inputs (65)
| Name | Type | Default | Description |
|---|---|---|---|
| api_url | STRING | http://10.0.0.71:5000/v1/chat/completions | API Endpoint URL: The network address where your LLM server is listening. This routes your prompt to the backend generation engine. |
| api_key | STRING | supersecretkey | API Key: The authorization token required to access the backend server. Prevents unauthorized execution if your API is exposed. |
| prompt | STRING | Enter prompt here | Prompt: The main user input or instruction. This is the direct context or question the LLM will respond to. |
| system_prompt | STRING | You are a helpful assistant. | System Prompt: The foundational instructions given to the LLM before your main prompt. It defines the AI's persona, rules, memory, and behavioral constraints. |
| seed | INT | -1-1–18446744073709550000 | Seed: The initialization number for the random number generator. Using the same seed with identical settings guarantees the exact same text output. -1 generates a random seed each time. |
| max_tokens | INT | 5121–32768 | Max Tokens: The absolute maximum number of words or sub-words the model is allowed to generate in a single response. Acts as a hard stop to prevent runaway generation. |
| temperature | FLOAT | 0.780–2 | Temperature: Modifies token probabilities. >1.0 flattens the distribution, increasing randomness and creativity. <1.0 sharpens the distribution, making the model strictly pick highly probable, deterministic words. 0.0 is entirely greedy. |
| top_p | FLOAT | 0.950–1 | Top-P (Nucleus Sampling): Sorts tokens by probability and keeps adding them to a pool until their combined probability hits this limit. 0.95 discards the bottom 5% of unlikely tokens, cutting off the 'long tail' of gibberish. |
| min_p | FLOAT | 0.050–1 | Min-P: Sets a dynamic probability threshold relative to the most likely token. A value of 0.05 means any token with less than 5% of the top token's probability is instantly discarded. Excellent for maintaining coherence. |
| top_k | INT | 200–200 | Top-K: A hard, absolute limit on the number of token choices considered. 20 means the model will only ever choose from the 20 most likely next words, stripping away all other possibilities. |
| repetition_penalty | FLOAT | 1.001–2 | Repetition Penalty: Divides the probability of tokens that have already appeared in the output by this value. >1.0 reduces looping. Setting it too high will cause the model to artificially avoid common grammar like 'the' or 'and'. |
| reasoning_effort | COMBO | medium | Reasoning Effort: For advanced models supporting internal chain-of-thought. Dictates how much hidden compute time and context length the model dedicates to thinking before it begins outputting the final answer. |
| auto_continue | BOOLEAN | false | Auto-Continue: If the model stops generating solely because it hit your 'Max Tokens' limit, enabling this will automatically append the generated text and ask the server to continue writing. |
| max_continues | INT | 31–10 | Max Continues: The safety trigger for Auto-Continue. Prevents an infinite API loop by strictly capping how many consecutive times the node is allowed to ask the model to keep generating. |
| stop_on_error | BOOLEAN | true | Stop on Error: If True, backend API errors (like timeouts or out-of-memory) will crash the ComfyUI workflow. If False, the node will output the error text and allow the workflow to proceed. |
| best_ofopt | INT | 11–10 | Best Of: Generates this number of full completions entirely on the server side, evaluates them, and only returns the single completion with the highest overall token probability score. Extremely compute-heavy. |
| echoopt | BOOLEAN | false | Echo: Forces the server to prepend your exact input prompt to the beginning of the generated output text. |
| frequency_penaltyopt | FLOAT | 0.00-2–2 | Frequency Penalty: Subtracts from a token's logit score based on exactly how many times it has ALREADY appeared in the text. Directly punishes repetitive vocabulary. |
| presence_penaltyopt | FLOAT | 0.00-2–2 | Presence Penalty: Applies a flat, one-time penalty to a token if it has appeared AT ALL in the generated text. Highly encourages the model to transition to new topics. |
| nopt | INT | 11–10 | N: Instructs the API to generate multiple independent completions for a single prompt simultaneously. ComfyUI will only process the first choice with this specific node setup. |
| suffixopt | STRING | Suffix: Text that the model expects to come immediately after its generation. Used heavily in fill-in-the-middle (FIM) coding tasks. | |
| useropt | STRING | User: A unique string identifying the end-user for backend logging or rate-limiting purposes. | |
| presetopt | STRING | Preset: The exact string name of a generation YAML preset saved in your Oobabooga text-generation-webui server. Overrides node parameters if defined. | |
| dynatemp_lowopt | FLOAT | 1.000–2 | Dynamic Temperature Low: The minimum temperature floor. When the model is highly confident in its next token, temperature shifts toward this value to ensure logical consistency. |
| dynatemp_highopt | FLOAT | 1.000–2 | Dynamic Temperature High: The maximum temperature ceiling. When the model is uncertain, temperature shifts toward this value to encourage creative exploration out of the uncertainty. |
| dynatemp_exponentopt | FLOAT | 1.000–10 | Dynamic Temperature Exponent: Controls the mathematical curve between dynatemp_low and dynatemp_high. Modifies how aggressively the temperature swings based on model confidence. |
| smoothing_factoropt | FLOAT | 0.000–10 | Smoothing Factor (Quadratic Sampling): Flattens extremely sharp spikes in the probability distribution. Makes the model slightly more likely to pick the 2nd or 3rd best token rather than constantly locking onto the absolute highest. |
| smoothing_curveopt | FLOAT | 1.00.1–10 | Smoothing Curve: Adjusts the shape of the mathematical curve applied by the Smoothing Factor. |
| typical_popt | FLOAT | 1.000–1 | Typical-P: Sorts tokens based on how close their probability is to the expected entropy (typicality) of the text, rather than pure likelihood. 1.0 disables it. |
| xtc_thresholdopt | FLOAT | 0.100–1 | XTC Threshold: Exclude Top Choices threshold. Any token with a probability higher than this value becomes eligible to be completely removed from consideration. |
| xtc_probabilityopt | FLOAT | 0.000–1 | XTC Probability: The random chance (0.0 to 1.0) that the tokens exceeding the XTC Threshold will actually be deleted. Forces the model into extreme lateral thinking by stripping the most obvious answers. |
| epsilon_cutoffopt | FLOAT | 0.000–1 | Epsilon Cutoff: A hard probability floor. Any token with a raw probability below this exact decimal value is instantly discarded. A flat alternative to min_p. |
| eta_cutoffopt | FLOAT | 0.000–1 | Eta Cutoff: A dynamic entropy-based cutoff. Similar to epsilon, but the threshold scales based on the overall uncertainty of the current token distribution. |
| tfsopt | FLOAT | 1.000–1 | Tail Free Sampling (TFS): Looks at the mathematical second derivative of the probability curve to find the exact point where probabilities drop off a cliff, and cuts the 'tail' off there. |
| top_aopt | FLOAT | 0.000–1 | Top-A: Squares the probability of the most likely token and multiplies it by this Top-A value to create a dynamic floor. Tokens below this dynamic floor are discarded. |
| top_n_sigmaopt | FLOAT | 0.000–10 | Top N Sigma: Retains only the tokens whose probabilities fall within this many standard deviations from the mean probability of the distribution. |
| dry_multiplieropt | FLOAT | 0.000–2 | DRY Multiplier (Don't Repeat Yourself): The master switch for the DRY algorithm. Applies an exponentially growing penalty to repeating sequences of text. 0.0 disables. |
| dry_allowed_lengthopt | INT | 20–20 | DRY Allowed Length: How many tokens can perfectly match a previous sequence before the DRY exponential penalty triggers and forces the model to change course. |
| dry_baseopt | FLOAT | 1.751–5 | DRY Base: The base mathematical value for the DRY exponential curve. Higher values make the penalty scale violently faster as a sequence repeats. |
| encoder_repetition_penaltyopt | FLOAT | 1.001–2 | Encoder Repetition Penalty: Applies specifically to the encoder phase of seq2seq models. Irrelevant for most standard decoder-only LLMs. |
| no_repeat_ngram_sizeopt | INT | 00–20 | No Repeat N-Gram Size: An absolute rule. If set to 3, the model is physically incapable of ever generating the same sequence of 3 tokens twice in the entire output. |
| repetition_penalty_rangeopt | INT | 10240–8192 | Repetition Penalty Range: How far back in the context (in tokens) the model looks when calculating standard repetition penalties. Should generally match your expected output length. |
| penalty_alphaopt | FLOAT | 0.000–10 | Penalty Alpha (Contrastive Search): Balances token probability with a penalty based on similarity to recent context. 0.0 disables. Forces diverse phrasing. |
| guidance_scaleopt | FLOAT | 1.00–20 | Guidance Scale: Classifier-Free Guidance (CFG) for LLMs. Pushes the output toward the prompt and heavily away from the Negative Prompt. >1.0 activates CFG. |
| mirostat_modeopt | INT | 00–2 | Mirostat Mode: 0 = Off, 1 = V1, 2 = V2. Completely overrides Temperature and Top-P to automatically lock the text generation at a constant level of target 'surprise' (entropy). |
| mirostat_tauopt | FLOAT | 5.00–20 | Mirostat Tau: The target entropy level for Mirostat. Higher values result in more surprising/creative text; lower values result in highly predictable text. |
| mirostat_etaopt | FLOAT | 0.100–1 | Mirostat Eta: The learning rate. Controls how quickly the Mirostat algorithm reacts and corrects the temperature when the text strays from the target Tau entropy. |
| prompt_lookup_num_tokensopt | INT | 00–20 | Prompt Lookup Tokens: Speculative decoding trick. The model scans the prompt for sequences matching its current generation and attempts to copy them wholesale to speed up generation. |
| max_tokens_secondopt | INT | 00–32768 | Max Tokens Second: A fallback/secondary token limit used by specific backend routing configurations. |
| do_sampleopt | BOOLEAN | true | Do Sample: If True, uses all your configured samplers (temp, top_p, etc). If False, executes 'Greedy Decoding', bypassing all math to strictly pick the #1 top token every single time. |
| dynamic_temperatureopt | BOOLEAN | false | Dynamic Temperature Enable: Master switch to turn on the dynatemp_low, dynatemp_high, and exponent scaling logic. |
| temperature_lastopt | BOOLEAN | false | Temperature Last: Shifts the Temperature calculation to the absolute end of the sampling pipeline, applying it after Top-K, Top-P, and min_p have made their cuts. |
| auto_max_new_tokensopt | BOOLEAN | false | Auto Max New Tokens: Ignores your 'max_tokens' integer and automatically sets the generation limit to perfectly fill the absolute maximum remaining space in the model's context window. |
| ban_eos_tokenopt | BOOLEAN | false | Ban EOS Token: Physically forbids the model from outputting the 'End Of Stream' token. Forces the model to keep generating text until it hits the max_tokens wall. |
| add_bos_tokenopt | BOOLEAN | true | Add BOS Token: Automatically prepends the invisible 'Beginning Of Stream' token to your prompt. Most models require this to structure their context correctly. |
| enable_thinkingopt | BOOLEAN | true | Enable Thinking: Allows models programmed with explicit reasoning phases (like DeepSeek R1) to output their internal thought process tags (<think>). |
| skip_special_tokensopt | BOOLEAN | true | Skip Special Tokens: Strips backend formatting tokens (like <|endoftext|> or <|user|>) from the final returned string to keep the text clean. |
| static_cacheopt | BOOLEAN | false | Static Cache: Locks the Key-Value (KV) cache allocation in VRAM. Can improve continuous generation speed on some backends at the cost of rigid memory reservation. |
| truncation_lengthopt | INT | 00–131072 | Truncation Length: If your combined prompt and history exceeds this number, the backend will forcibly slice off the oldest text to fit. 0 uses the model's innate maximum. |
| custom_token_bansopt | STRING | Custom Token Bans: Comma-separated list of raw Token IDs (numbers, not words) that the model is strictly forbidden from ever generating. | |
| negative_promptopt | STRING | Negative Prompt: Text describing exactly what you do NOT want. Only functions if Guidance Scale (CFG) is set higher than 1.0. | |
| dry_sequence_breakersopt | STRING | "\n", ":", "\"", "*" | DRY Sequence Breakers: Specific characters or strings that immediately reset the DRY exponential repetition penalty back to zero when generated. |
| grammar_stringopt | STRING | Grammar String: A complex GBNF formatted string that forces the model to strictly adhere to a specific output format, such as a rigid JSON schema. | |
| sampler_priorityopt | STRING | Sampler Priority: Comma-separated list defining the exact execution order of the math samplers (e.g., 'temperature, top_p, top_k'). Modifying this drastically changes generation logic. | |
| stop_sequencesopt | STRING | Stop Sequences: Comma-separated words or symbols. If the model generates any of these exact sequences, it will instantly stop generating and return the text up to that point. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| answer | STRING | — |
| thinking | STRING | — |
| full_raw | STRING | — |