Tara Advanced LLM Composition Node
LLM text composition that you can actually chain into loops
- llm_config
- output_text
TaraAdvancedComposition is the current-generation successor to the pack's old Daisy Chain node, and the name change is the README making a point: "Composition is a better and more apt name than Daisy Chain." The idea is the same - take several pieces of text, hand them to an LLM along with instructions, and get one composed result - but the new node runs on the modern llm_config plumbing instead of raw inputs and hardcoded providers. If you want to do anything where an LLM produces text in your graph rather than refining prompts - checklists, captions, structured descriptions, multi-step analysis - this is the node.
How it works
You give it a guidance system prompt (the instruction that defines the task) and up to three text inputs: prompt, plus optional positive and negative strings. Each non-empty input becomes a user message - "Provided Prompt: …", "Positive: …", "Negative: …" - and the model replies with plain freeform text. No JSON parsing, no scrubbing; output_text is the raw completion. That's exactly why it composes well: the output is a clean string you can wire back into another node's prompt input, chain into the next stage, or pipe into a text encoder.
Sampling comes from the TARA_LLM_CONFIG you feed in (temperature, seed, max_tokens, penalties - the whole set), layered on a base config tuned slightly differently than the prompt nodes. The only required inputs are llm_config and guidance; all three text fields are optional, so you can run pure instruction-to-text generation with nothing but a guidance prompt.
The chaining pattern
The README's vision for the old Daisy Chain was checklists: create, verify, execute, evaluate, refine. That works here by building the loop with strings:
TaraLLMConfig → llm_config → TaraAdvancedComposition ─┐
output_text ──────────→ (next node's) prompt ◄───┘
Output feeds a subsequent prompt input; guidance at each stage changes the operation. You're not limited to OpenAI and Groq either - since the config carries the base_url, the same graph works against local Ollama or any OpenAI-compatible server, which makes chaining a loop free to run.
Gotchas
- No JSON mode here. Unlike the prompt nodes, this one sends plain completions, so it's friendlier to quirky endpoints - but it also means you can't rely on a structured response. If you need JSON out, phrase it in guidance and hope, or use a dedicated parsing node.
- The key-printing debug line is inherited. Run it on a shared box and the api_key shows up in the ComfyUI console. Prefer the key loader over pasting keys into config.
- It's an alpha. The pack is a small, mostly-silent 2024 project from ronniebasak; expect rough edges and no roadmap.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ronniebasak/ComfyUI-Tara-LLM-Integration
Restart, or Manager → Install via Git URL. Deps are orjson and openai; nothing to download. For LLM-driven text composition inside ComfyUI without spinning up a second tool, this is the one node in the pack that does a job nothing else in it does.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| llm_config | TARA_LLM_CONFIG | — | |
| guidance | STRING | — | |
| promptopt | STRING | — | |
| positiveopt | STRING | — | |
| negativeopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_text | STRING | — |