FlowDSL Node Catalog

LLM Chat

Send a chat completion request to a registered LLM provider and return the response.

Overview

PropertyValue
Node IDredelay/llm-chat
Kindaction
Modulellm-flowdsl
Repogo-ai

Inputs

  • Request — Chat request with messages and optional tools.

Outputs

  • Response — Completed chat response with message, finishReason, and usage.
  • Error — Provider error, missing credentials, or unsupported request.

Settings

PropertyTypeRequiredDefaultUI GroupDescription
endpointstring———Provider API base URL override. Example: http://localhost:11434 for Ollama.
examplesPolicystring (avoid|when_asked|always)———When the model should include runnable examples.
maxTokensinteger———Upper bound on completion length. 0 = provider default.
modelstring———Model name sent to the provider. Empty → provider default.
passthroughboolean—false—When true, the node copies every field of the incoming packet to its output before stamping message/finishReason/usage. Use for chained llm-chat calls (e.g. rag-rewrite's query-rewrite preprocessor) where downstream nodes need fields the first chat call didn't consume. Off by default so the happy-path packet stays minimal.
profilestring ()———OPTIONAL — pick a named LLM profile (provider + credentials + model + tuning + prompt) to supply the defaults for this node. Any field below you leave blank uses the profile's value; any field you fill overrides the profile for this node only. Leave this blank to configure every knob here directly. Manage profiles at /profiles — duplicate an existing profile to create a variant (e.g. change temperature, swap to Ollama for local dev) without touching the original.
providerIDstring ()———Registered LLM provider ID. Enum is populated at runtime from the live provider registry. Required when no profile is selected.
replyStylestring (short|normal|detailed)———Shorthand for response length / verbosity. Appended to the system prompt as a plain-English directive.
streamboolean—false—Node-only toggle — profile never sets this. Emit one packet per chunk instead of a single Response packet.
systemPromptstring———Base system prompt prepended to messages. When replyStyle or examplesPolicy are set, their directives are appended. If the first message already has role=system, this setting is ignored.
temperaturenumber———Sampling temperature (0-2). Lower is more deterministic.

Example

yaml
# Use this node in a flow:
nodes:
  - id: my_step
    name: My Step
    kind: action
    action_ref: redelay/llm-chat
    config:
      endpoint: "value"
      examplesPolicy: "value"
      maxTokens: 10
      model: "value"
      passthrough: false
      profile: ""
      providerID: "value"
      replyStyle: "value"
      stream: false
      systemPrompt: "value"
      temperature: 1.0