Ctrl K
ComunidadGuías…

qa/acceptance/relmio-release-acceptance.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "name": "Relmio release acceptance",
  "nodes": [
    {
      "parameters": {},
      "id": "00000000-0000-4000-8000-000000000001",
      "name": "Run acceptance",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        600
      ]
    },
    {
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "00000000-0000-4000-8000-000000000002",
              "name": "model",
              "value": "gpt-6-astra",
              "type": "string"
            },
            {
              "id": "00000000-0000-4000-8000-000000000003",
              "name": "localModel",
              "value": "qwen3:0.6b",
              "type": "string"
            },
            {
              "id": "00000000-0000-4000-8000-000000000020",
              "name": "sidecarBaseUrl",
              "value": "http://n8n-openai-oauth:10531/v1",
              "type": "string"
            },
            {
              "id": "00000000-0000-4000-8000-000000000021",
              "name": "acceptanceVersion",
              "value": "2026-10-07.3",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000004",
      "name": "Settings",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        240,
        600
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $('Settings').first().json.sidecarBaseUrl.replace(/\\/+$/, '') }}/responses",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "openAiApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model: $('Settings').first().json.model, input: [{ role: 'user', content: 'Reply with exactly: http responses ok' }] }) }}",
        "options": {
          "timeout": 120000
        }
      },
      "id": "00000000-0000-4000-8000-000000000005",
      "name": "HTTP Request: Responses",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        520,
        0
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $('Settings').first().json.sidecarBaseUrl.replace(/\\/+$/, '') }}/chat/completions",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "openAiApi",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model: $('Settings').first().json.model, messages: [{ role: 'user', content: 'Reply with exactly: http chat ok' }] }) }}",
        "options": {
          "timeout": 120000
        }
      },
      "id": "00000000-0000-4000-8000-000000000006",
      "name": "HTTP Request: Chat Completions",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        520,
        200
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Use the calculator tool to work out 17 * 23, then reply with only the number.",
        "options": {
          "returnIntermediateSteps": true
        }
      },
      "id": "00000000-0000-4000-8000-000000000007",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [
        520,
        400
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Settings').first().json.model }}"
        },
        "responsesApiEnabled": true,
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000008",
      "name": "Agent Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        440,
        620
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      }
    },
    {
      "parameters": {},
      "id": "00000000-0000-4000-8000-000000000009",
      "name": "Calculator",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "typeVersion": 1,
      "position": [
        640,
        620
      ]
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "Reply with exactly: chain ok"
      },
      "id": "00000000-0000-4000-8000-000000000010",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.9,
      "position": [
        520,
        800
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Settings').first().json.model }}"
        },
        "responsesApiEnabled": true,
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000011",
      "name": "Chain Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        520,
        1000
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      }
    },
    {
      "parameters": {
        "resource": "text",
        "operation": "response",
        "modelId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Settings').first().json.model }}"
        },
        "responses": {
          "values": [
            {
              "type": "text",
              "role": "user",
              "content": "Reply with exactly: openai node ok"
            }
          ]
        },
        "simplify": true,
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000012",
      "name": "OpenAI: Message a Model",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 2.3,
      "position": [
        520,
        1200
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "resource": "image",
        "operation": "generate",
        "modelId": {
          "__rl": true,
          "mode": "id",
          "value": "gpt-image-2"
        },
        "prompt": "A small green square centred on a plain white background",
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000013",
      "name": "OpenAI: Generate an Image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "typeVersion": 2.3,
      "position": [
        520,
        1400
      ],
      "credentials": {
        "openAiApi": {
          "name": "OpenAI Relmio"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "What is 2 + 2? Reply with only the number."
      },
      "id": "00000000-0000-4000-8000-000000000014",
      "name": "Local Model Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.9,
      "position": [
        520,
        1600
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Settings').first().json.localModel }}"
        },
        "responsesApiEnabled": false,
        "options": {}
      },
      "id": "00000000-0000-4000-8000-000000000015",
      "name": "Local Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1.3,
      "position": [
        520,
        1800
      ],
      "credentials": {
        "openAiApi": {
          "name": "Relmio Local Model"
        }
      }
    },
    {
      "parameters": {
        "content": "Inactive on purpose. Run with **Execute workflow** only.\n\nKeep one copy of this workflow per n8n and reuse it for every QA run. When `acceptanceVersion` in **Settings** is older than the file in the Relmio repository, update this workflow in place instead of importing a second copy.\n\nCredentials: **OpenAI Relmio** (the sidecar, Base URL `http://n8n-openai-oauth:10531/v1`) on every node except the local model, and **Relmio Local Model** (Base URL `http://n8n-local-model:11434/v1`) on Local Chat Model. On another self-hosted n8n, set `sidecarBaseUrl` in **Settings** and the credential Base URL to the address that n8n reaches the sidecar at.\n\nSet the text model in **Settings**. Each check node keeps going on error, so open its output: a check passes only when it shows the expected text.",
        "height": 400,
        "width": 420
      },
      "id": "00000000-0000-4000-8000-000000000016",
      "name": "Before you run",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -520,
        0
      ]
    },
    {
      "parameters": {
        "content": "## Expected results\n\n- HTTP Request: Responses returns `http responses ok`\n- HTTP Request: Chat Completions returns `http chat ok`\n- AI Agent returns `391`, and its `intermediateSteps` show one Calculator call that returned `391`\n- Basic LLM Chain returns `chain ok`\n- OpenAI: Message a Model returns `openai node ok`\n- OpenAI: Generate an Image returns one binary image (image add-on only)\n- Local Model Chain returns `4` (local model only)\n\nAn `error` field in any output is a failure.",
        "height": 300,
        "width": 420
      },
      "id": "00000000-0000-4000-8000-000000000017",
      "name": "Expected results",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -520,
        440
      ]
    }
  ],
  "connections": {
    "Run acceptance": {
      "main": [
        [
          {
            "node": "Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Settings": {
      "main": [
        [
          {
            "node": "HTTP Request: Responses",
            "type": "main",
            "index": 0
          },
          {
            "node": "HTTP Request: Chat Completions",
            "type": "main",
            "index": 0
          },
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          },
          {
            "node": "OpenAI: Message a Model",
            "type": "main",
            "index": 0
          },
          {
            "node": "OpenAI: Generate an Image",
            "type": "main",
            "index": 0
          },
          {
            "node": "Local Model Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agent Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Chain Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Local Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Local Model Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {},
  "tags": []
}