n8n-workflows/workflows/43gMd18arOcxqDcC_LLM_Chaining_examples.json
2025-05-14 11:58:29 +03:00

1042 lines
24 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"id": "43gMd18arOcxqDcC",
"meta": {
"instanceId": "fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a",
"templateCredsSetupCompleted": true
},
"name": "LLM Chaining examples",
"tags": [],
"nodes": [
{
"id": "35e53ce7-06b4-47ca-b7f3-b147bd059fcf",
"name": "When clicking Test workflow",
"type": "n8n-nodes-base.manualTrigger",
"position": [
200,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "aeef734e-1c3b-4a91-93ae-2ae9c50951b8",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
400,
520
],
"parameters": {
"url": "https://blog.n8n.io/",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "7f6b95eb-df8c-4f0f-ba69-6b298d624ccd",
"name": "Markdown",
"type": "n8n-nodes-base.markdown",
"position": [
600,
520
],
"parameters": {
"html": "={{ $json.data }}",
"options": {},
"destinationKey": "markdown"
},
"typeVersion": 1
},
{
"id": "994dbe06-4c25-4fb3-a8f3-566eb5b66c6d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
340
],
"parameters": {
"color": 4,
"width": 700,
"height": 360,
"content": "# Connect to one of the blue sections -->\n## This can be anything:\n- Chat input\n- Trigger from external system\n- CRON-scheduled event"
},
"typeVersion": 1
},
{
"id": "8ba3039d-dabf-43b7-ab35-117332f65ced",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
1460,
-20
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "7e1da020-e01d-410c-aa7f-a19d6e1c368d",
"name": "Anthropic Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
1820,
-20
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "620503cb-2d51-4102-8975-75255cf15b1b",
"name": "Anthropic Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2180,
-20
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "5f0d11ce-c1ea-4c36-8b2d-d3f70b19f0ba",
"name": "Anthropic Chat Model3",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2540,
-20
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "f973d01e-fad7-4143-8379-54438f5412cb",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
2440,
360
],
"parameters": {
"mode": "combine",
"options": {
"includeUnpaired": true
},
"combineBy": "combineByPosition"
},
"typeVersion": 3.1
},
{
"id": "c7e58b90-bc96-421c-88f2-4e9f95f87248",
"name": "Simple Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2680,
780
],
"parameters": {
"sessionKey": "fixed_session",
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "0e606f7c-2cdb-4e34-8c0b-2303996077fb",
"name": "Clean memory",
"type": "@n8n/n8n-nodes-langchain.memoryManager",
"position": [
1500,
480
],
"parameters": {
"mode": "delete",
"deleteMode": "all"
},
"typeVersion": 1.1
},
{
"id": "af0fb574-9964-4f7d-8348-a2cf614b8562",
"name": "Initial prompts",
"type": "n8n-nodes-base.set",
"position": [
1880,
480
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "84a50c9c-2265-4dd6-a774-efc852615862",
"name": "system_prompt",
"type": "string",
"value": "You are a helpful assistant"
},
{
"id": "559f19f7-042c-465e-b85f-ab52cfbab04a",
"name": "step1",
"type": "string",
"value": "What is on this page?"
},
{
"id": "6791cd09-c5f7-48c8-b753-8d383db6863f",
"name": "step2",
"type": "string",
"value": "List all authors on this page"
},
{
"id": "1f92ac04-e5dd-4161-afde-14562aea454c",
"name": "step3",
"type": "string",
"value": "List all posts on this page"
},
{
"id": "ad8ee0b0-fa7d-4f4a-85a8-82d0d0dc0a40",
"name": "step4",
"type": "string",
"value": "Make a bold funny joke based on the content on this page"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "6743e44a-cc76-4e73-b4f3-ba7c65d179d3",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
2240,
480
],
"parameters": {
"include": "selectedOtherFields",
"options": {},
"fieldToSplitOut": "data",
"fieldsToInclude": "system_prompt"
},
"typeVersion": 1
},
{
"id": "caddd26c-ee84-455f-8ee6-aecf21536930",
"name": "Reshape",
"type": "n8n-nodes-base.set",
"position": [
2060,
480
],
"parameters": {
"mode": "raw",
"include": "selected",
"options": {},
"jsonOutput": "={ \"data\" : {{ Object.entries($json).filter(([key]) => key !== \"system_prompt\").map(([key, value]) => ({ step: key, instruction: value })) }}\n}",
"includeFields": "system_prompt",
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "bd244988-d074-42f3-af42-960e5aa1d35d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
400
],
"parameters": {
"width": 540,
"height": 240,
"content": "# An array of prompts here"
},
"typeVersion": 1
},
{
"id": "7e9e5287-8d4e-43a9-b8cf-ae26a177bfbb",
"name": "Anthropic Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2600,
600
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"thinking": false,
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "47816a45-b906-47ef-9510-c63867bfc8b7",
"name": "Merge2",
"type": "n8n-nodes-base.merge",
"position": [
1860,
1120
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3
},
{
"id": "e63b89a1-c2ca-4ed2-ae50-e3a7b429609c",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2040,
1020
],
"parameters": {
"width": 320,
"height": 520,
"content": "## Make sure URL matches\n### ⚠️ Cloud users!\nReplace `{{ $env.WEBHOOK_URL }}` \nwith your n8n instance URL"
},
"typeVersion": 1
},
{
"id": "7b99df1a-bf6c-4cf1-b58a-346873136715",
"name": "Basic LLM Chain4",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2440,
1300
],
"parameters": {
"text": "={{ $json.body.userprompt }}\n\nHere's page data:\n~~~~\n{{ $json.body.markdown }}\n~~~~",
"promptType": "define"
},
"typeVersion": 1.5
},
{
"id": "6f6e0667-5164-4b65-a796-1d2112c7c072",
"name": "Split Out1",
"type": "n8n-nodes-base.splitOut",
"position": [
1680,
1340
],
"parameters": {
"options": {},
"fieldToSplitOut": "userprompt"
},
"typeVersion": 1
},
{
"id": "9dfd2145-2427-4131-92d2-99aca620217f",
"name": "Anthropic Chat Model5",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2420,
1460
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {
"thinking": false,
"temperature": 0.5
}
},
"credentials": {
"anthropicApi": {
"id": "cJno7gKlYez56WtP",
"name": "Anthropic account"
}
},
"typeVersion": 1.3
},
{
"id": "616fc635-107d-4929-b9d6-4ccd34e42909",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
2140,
1400
],
"webhookId": "58d2b899-e09c-45bf-b59b-961a5d7a2470",
"parameters": {
"path": "58d2b899-e09c-45bf-b59b-961a5d7a2470",
"options": {},
"httpMethod": "POST",
"responseMode": "lastNode"
},
"typeVersion": 2
},
{
"id": "c863252b-f8b6-4704-be4e-a69d3005a85a",
"name": "CONNECT ME",
"type": "n8n-nodes-base.noOp",
"position": [
1240,
-220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "90ab4402-cbea-4441-9097-558ec72e5d38",
"name": "CONNECT ME1",
"type": "n8n-nodes-base.noOp",
"position": [
1280,
340
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1c04650f-8043-496f-aeab-866e85548f9d",
"name": "CONNECT ME2",
"type": "n8n-nodes-base.noOp",
"position": [
1280,
1100
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4097f12d-eba7-477a-9152-da5eb8c9aa03",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-300
],
"parameters": {
"color": 5,
"width": 1980,
"height": 440,
"content": "# 1 - Naive Chaining\n### PROs:\n- Easy to setup\n- Beginner-friendly\n\n### CONs\n- Not scalable\n- Hard to maintain long chains\n- SLOOOW!"
},
"typeVersion": 1
},
{
"id": "ce806bc6-a57e-47da-bbba-4698c3956022",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
240
],
"parameters": {
"color": 5,
"width": 2160,
"height": 660,
"content": "# 2 - Iterative Agent Processing\n\n### PROs:\n- Scalable\n- All inputs & outputs in a single node\n- Supports Agent memory\n\n### CONs\n- Still Slow!"
},
"typeVersion": 1
},
{
"id": "49c4507f-de1e-422b-8058-db82668614d3",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
1000
],
"parameters": {
"color": 5,
"width": 1880,
"height": 600,
"content": "# 3 - Parallel Processing\n\n### PROs:\n- Scalable\n- All inputs & outputs in a single place\n- FAST!\n\n### CONs\n- Independent requests\n (no Agent memory)"
},
"typeVersion": 1
},
{
"id": "c30b8132-9291-4855-89ec-6a98bcee8247",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1420,
1260
],
"parameters": {
"width": 400,
"height": 240,
"content": "# Array of prompts here"
},
"typeVersion": 1
},
{
"id": "4c1b5816-7393-47f6-8a88-008d8deea119",
"name": "Initial prompts1",
"type": "n8n-nodes-base.set",
"position": [
1460,
1340
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ed7f1cc6-99d3-481c-b5fb-d9900d6ee0f6",
"name": "userprompt",
"type": "array",
"value": "=[\n\"What is on this page?\",\n\"List all authors on this page\",\n\"List all posts on this page\",\n\"Make a bold funny joke based on the content on this page\"\n]"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8248a20f-1f90-42b0-8167-7ddcc90242a2",
"name": "LLM Chain - Step 1",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1500,
-220
],
"parameters": {
"text": "={{ $('Markdown').first().json.markdown }}",
"messages": {
"messageValues": [
{
"message": "What is on this page?"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "3788b23b-ccdc-4326-8ce0-1e57934d23bd",
"name": "LLM Chain - Step 2",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1860,
-220
],
"parameters": {
"text": "={{ $('Markdown').first().json.markdown }}",
"messages": {
"messageValues": [
{
"message": "List all authors on this page"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "89e69a39-bf13-4599-8ddc-a01c4590fb9c",
"name": "LLM Chain - Step 3",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2220,
-220
],
"parameters": {
"text": "={{ $('Markdown').first().json.markdown }}",
"messages": {
"messageValues": [
{
"message": "List all posts on this page"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "7e395991-9404-490e-8946-0da8f81e7243",
"name": "LLM Chain - Step 4",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2580,
-220
],
"parameters": {
"text": "={{ $('Markdown').first().json.markdown }}",
"messages": {
"messageValues": [
{
"message": "Make a bold funny joke based on the content on this page"
}
]
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "efb8d836-8a4a-4a70-baed-4a9b77461aca",
"name": "All LLM steps here - sequentially",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2640,
440
],
"parameters": {
"text": "={{ $json.markdown || \"\" }}\n{{ `Your task: ${$json.data.step}. ${$json.data.instruction}` }}",
"options": {
"systemMessage": "={{ $json.system_prompt }}"
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "926b1705-a24c-4659-bf61-8ed97ade7290",
"name": "LLM steps - parallel",
"type": "n8n-nodes-base.httpRequest",
"position": [
2140,
1240
],
"parameters": {
"url": "={{ $env.WEBHOOK_URL }}webhook/58d2b899-e09c-45bf-b59b-961a5d7a2470",
"method": "POST",
"options": {},
"jsonBody": "={{ $json }}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "7748574b-1abd-4697-9644-db8bb79fb08d",
"name": "Merge output with initial prompts",
"type": "n8n-nodes-base.merge",
"position": [
2440,
1140
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.1
},
{
"id": "b207d83b-ecda-4a9f-af78-cfbb2253c119",
"name": "Merge output with initial prompts1",
"type": "n8n-nodes-base.merge",
"position": [
3000,
380
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3.1
}
],
"active": true,
"pinData": {},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1",
"saveDataSuccessExecution": "all"
},
"versionId": "7b1849db-1c4c-4943-89b1-184926649776",
"connections": {
"Merge": {
"main": [
[
{
"node": "All LLM steps here - sequentially",
"type": "main",
"index": 0
},
{
"node": "Merge output with initial prompts1",
"type": "main",
"index": 0
}
]
]
},
"Merge2": {
"main": [
[
{
"node": "LLM steps - parallel",
"type": "main",
"index": 0
},
{
"node": "Merge output with initial prompts",
"type": "main",
"index": 0
}
]
]
},
"Reshape": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "Basic LLM Chain4",
"type": "main",
"index": 0
}
]
]
},
"Markdown": {
"main": [
[]
]
},
"Split Out": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"CONNECT ME": {
"main": [
[
{
"node": "LLM Chain - Step 1",
"type": "main",
"index": 0
}
]
]
},
"Split Out1": {
"main": [
[
{
"node": "Merge2",
"type": "main",
"index": 1
}
]
]
},
"CONNECT ME1": {
"main": [
[
{
"node": "Clean memory",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"CONNECT ME2": {
"main": [
[
{
"node": "Initial prompts1",
"type": "main",
"index": 0
},
{
"node": "Merge2",
"type": "main",
"index": 0
}
]
]
},
"Clean memory": {
"main": [
[
{
"node": "Initial prompts",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Markdown",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "All LLM steps here - sequentially",
"type": "ai_memory",
"index": 0
},
{
"node": "Clean memory",
"type": "ai_memory",
"index": 0
}
]
]
},
"Initial prompts": {
"main": [
[
{
"node": "Reshape",
"type": "main",
"index": 0
}
]
]
},
"Initial prompts1": {
"main": [
[
{
"node": "Split Out1",
"type": "main",
"index": 0
}
]
]
},
"LLM Chain - Step 1": {
"main": [
[
{
"node": "LLM Chain - Step 2",
"type": "main",
"index": 0
}
]
]
},
"LLM Chain - Step 2": {
"main": [
[
{
"node": "LLM Chain - Step 3",
"type": "main",
"index": 0
}
]
]
},
"LLM Chain - Step 3": {
"main": [
[
{
"node": "LLM Chain - Step 4",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "LLM Chain - Step 1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"LLM steps - parallel": {
"main": [
[
{
"node": "Merge output with initial prompts",
"type": "main",
"index": 1
}
]
]
},
"Anthropic Chat Model1": {
"ai_languageModel": [
[
{
"node": "LLM Chain - Step 2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Anthropic Chat Model2": {
"ai_languageModel": [
[
{
"node": "LLM Chain - Step 3",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Anthropic Chat Model3": {
"ai_languageModel": [
[
{
"node": "LLM Chain - Step 4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Anthropic Chat Model4": {
"ai_languageModel": [
[
{
"node": "All LLM steps here - sequentially",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Anthropic Chat Model5": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain4",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"All LLM steps here - sequentially": {
"main": [
[
{
"node": "Merge output with initial prompts1",
"type": "main",
"index": 1
}
]
]
},
"When clicking Test workflow": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
}
}
}