● Universal LLM

Overview

Universal Large Language Model execution that supports any LLM vendor through a single interface. This stateless node provides universal access to OpenAI, Anthropic, Google, and other LLM providers using direct HTTP calls.

.

When to Use

Use this node when you need a stateless, single-call LLM interaction with any vendor. Perfect for workflows that need tool_calls preserved in responses for downstream processing, or when you want direct HTTP API calls without tool execution overhead.

Parameters

  • connector (required)
    • Purpose: Specifies which LLM provider or integration connector to use for this LLM call.
    • How it Works:
      • The Universal LLM node will use this connector value to route the API request through the correct service integration.
      • If not set or set incorrectly, LLM calls will either fail or default to a platform-preferred provider, which may not match your expectations and could impact cost, performance, or availability.
  • model (required) - Model name specific to the vendor
    • Placeholder: "e.g., gpt-4, claude-3-opus, gemini-pro"
    • Examples: "gpt-4", "claude-3-opus-20240229", "gemini-1.5-pro", "llama-3-70b"
  • messages (required) - Chat messages in JSON format.
    • Type: textarea
    • Default: [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "{{0.userMessage}}"}]
  • temperature (optional) - Controls randomness (min value = deterministic, max value = very creative)
    • Type: number
    • Default: 0.7
  • maxTokens (optional) - Maximum tokens to generate (vendor-specific limits apply)
    • Type: number (1 - 128000)
    • Default: 4096
    • Examples: "1024", "4096", "8192"
  • tools (optional) - Array of tools/functions in OpenAI format (preserved in response, not executed)
    • Type: textarea
    • Placeholder: "Tools/functions in OpenAI format (optional JSON array)"
    • Example: [{"type": "function", "function": {"name": "search", "parameters": {...}}}]
  • responseFormat (optional) - Control output format (text, JSON, or structured with schema)
    • Type: textarea
    • Placeholder: {"type": "json_object"} or {"type": "json_schema", "json_schema": {...}}
    • Examples: {"type": "text"}{"type": "json_object"}{"type": "json_schema", "json_schema": {"name": "response", "schema": {...}}}

Raw Usage Example

{
    name: "Multi-vendor AI Assistant",
    description: "Universal LLM Node - works with any configured LLM provider",
    nodeId: "n",
    operationReference: {
        methodId: "generic_llm_universal"
    },
    parameters: [
        { name: "providerId", value: "{{select_from_providers}}" }, // Select provider
        { name: "model", value: "gpt-4" }, // Model name
        { 
            name: "messages", 
            value: "[{\"role\": \"system\", \"content\": \"You are a helpful assistant\"}, {\"role\": \"user\", \"content\": \"{{0.userMessage}}\"}]"
        }, // Chat messages
        { name: "temperature", value: 0.7 }, // Creativity level
        { name: "maxTokens", value: 2048 } // Max response length
    ]
}

Capabilities

  • Support for multiple LLM vendors through a single interface
  • Automatic format conversion between vendors
  • Tool/function calling format preservation (not execution)
  • Structured output support (JSON mode and JSON schema)
  • Stateless operation - no database storage
  • Automatic authentication via configured providers

Advanced Features

  • Automatic vendor detection from provider configuration
  • Direct HTTP calls with vendor-specific endpoints and headers
  • Format conversion for all major LLM vendors
  • Structured output with JSON schema (OpenAI only)
  • Tool calling format normalization (preserved, not executed)
  • Stateless operation for better performance and reliability
  • Unified error handling and retry logic

Result Access

{{nodeId.result.content}}- Generated text response
{{nodeId.result.tool_calls}} - Tool call requests (if any)
{{nodeId.result}} - Full message object