Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "nodes": [
- {
- "parameters": {
- "public": true,
- "initialMessages": "upload file",
- "options": {
- "allowFileUploads": true,
- "responseMode": "lastNode",
- "showWelcomeScreen": false
- }
- },
- "id": "efe737c4-eee0-4e66-9074-02722f9fd2ff",
- "name": "When chat message received",
- "type": "@n8n/n8n-nodes-langchain.chatTrigger",
- "typeVersion": 1.1,
- "position": [
- -340,
- 40
- ],
- "webhookId": "8ce80335-7615-4698-ae1b-650e7fea2431"
- },
- {
- "parameters": {
- "jsCode": "let results = [];\n\nfor (item of items) {\n for (key of Object.keys(item.binary)) {\n results.push({\n json: item.json.files.find(file => file.fileName === item.binary[key].fileName),\n binary: {\n data: item.binary[key],\n }\n });\n }\n}\n\nreturn results;"
- },
- "id": "974097b1-6144-4bbd-b471-01acab1b16f4",
- "name": "Files To List",
- "type": "n8n-nodes-base.code",
- "typeVersion": 2,
- "position": [
- 0,
- 240
- ]
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "11a4b1e5-2065-4bfd-ba7c-12def5c65116",
- "name": "sessionId",
- "value": "={{ $('Webhook').first().body.json.body?.sessionId || $('When chat message received').first().json.sessionId }}",
- "type": "string"
- },
- {
- "id": "43953933-fc55-46c0-8376-cfc357789dbb",
- "name": "action",
- "value": "={{ $('Webhook').first().body.json.body?.action || $('When chat message received').first().json.action }}",
- "type": "string"
- },
- {
- "id": "735ec242-faf2-4bf4-9db4-a43fbf8af206",
- "name": "chatInput",
- "value": "={{ $('Webhook').first().body.json.body?.chatInput || $('When chat message received').first().json.chatInput }}",
- "type": "string"
- },
- {
- "id": "dc70d10f-fecf-413a-87e6-008341f2fcb1",
- "name": "files",
- "value": "={{ $json.body?.files || $json.files }}",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "9fcd6842-91ae-4966-9ba7-f217cedf4258",
- "name": "Set Fields",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 500,
- 60
- ]
- },
- {
- "parameters": {
- "options": {
- "baseURL": "https://oneapi.6868ai.com/v1"
- }
- },
- "id": "6b76891c-9586-436d-8206-03a25b8512df",
- "name": "OpenAI Chat Model",
- "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
- "typeVersion": 1,
- "position": [
- 740,
- 240
- ],
- "credentials": {
- "openAiApi": {
- "id": "oYt1X4B1EySK0Ho4",
- "name": "OpenAi account"
- }
- }
- },
- {
- "parameters": {},
- "id": "a852cd17-3c4c-40e9-88ae-dbdf49002dde",
- "name": "Execute Workflow Trigger",
- "type": "n8n-nodes-base.executeWorkflowTrigger",
- "typeVersion": 1,
- "position": [
- 420,
- 800
- ]
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "5771fb42-e4a9-44d7-8946-6bca673480c3",
- "name": "response",
- "value": "Unknown command. Try a different route.",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "871bdef7-ef10-4edb-bbae-080115e7a3c9",
- "name": "Unknown Route",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 960,
- 1160
- ]
- },
- {
- "parameters": {
- "options": {
- "baseURL": "https://oneapi.6868ai.com/v1"
- }
- },
- "id": "5b8df1e1-992d-4ea6-848d-036f6649f6de",
- "name": "OpenAI Chat Model1",
- "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
- "typeVersion": 1,
- "position": [
- 1560,
- 480
- ],
- "credentials": {
- "openAiApi": {
- "id": "oYt1X4B1EySK0Ho4",
- "name": "OpenAi account"
- }
- }
- },
- {
- "parameters": {
- "operation": "pdf",
- "options": {}
- },
- "id": "7bf4532e-c36f-47b1-9961-08e13a3c3d93",
- "name": "Extract from File",
- "type": "n8n-nodes-base.extractFromFile",
- "typeVersion": 1,
- "position": [
- 1360,
- 340
- ]
- },
- {
- "parameters": {
- "rules": {
- "values": [
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "leftValue": "={{ $json.fileType }}",
- "rightValue": "pdf",
- "operator": {
- "type": "string",
- "operation": "equals"
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "pdf"
- },
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "id": "c0432ab1-1b11-4b47-a135-099be7fde656",
- "leftValue": "={{ [\"jpg\",\"jpeg\",\"png\",\"gif\"] }}",
- "rightValue": "={{ $json.fileType.toLowerCase() }}",
- "operator": {
- "type": "array",
- "operation": "contains",
- "rightType": "any"
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "image"
- }
- ]
- },
- "options": {}
- },
- "id": "b6e84b4b-c09c-46b9-a34e-410e9bef63a5",
- "name": "Handle FileType",
- "type": "n8n-nodes-base.switch",
- "typeVersion": 3.2,
- "position": [
- 1140,
- 480
- ]
- },
- {
- "parameters": {
- "options": {
- "baseURL": "https://oneapi.6868ai.com/v1"
- }
- },
- "id": "cbbe9df9-f535-45f9-9afc-fc03656b9693",
- "name": "OpenAI Chat Model2",
- "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
- "typeVersion": 1,
- "position": [
- 1380,
- 800
- ],
- "credentials": {
- "openAiApi": {
- "id": "oYt1X4B1EySK0Ho4",
- "name": "OpenAi account"
- }
- }
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "f1f677cd-31be-4383-adcf-f01eb83899d7",
- "name": "response",
- "value": "={{ $json.text }}",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "d79f3336-b51e-4bb2-b4ef-5ac13575e337",
- "name": "Send Response",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 1680,
- 620
- ]
- },
- {
- "parameters": {
- "promptType": "define",
- "text": "={{ $('Execute Workflow Trigger').first().json.query.question }}",
- "messages": {
- "messageValues": [
- {
- "message": "Answer the user's question using the contents of the pdf provided."
- },
- {
- "type": "HumanMessagePromptTemplate",
- "message": "=This is the content of the pdf:\n{{ $json.text }}"
- }
- ]
- }
- },
- "id": "4a45d490-385a-4623-97dd-25a4267b1715",
- "name": "Answer from PDF Contents",
- "type": "@n8n/n8n-nodes-langchain.chainLlm",
- "typeVersion": 1.5,
- "position": [
- 1520,
- 340
- ]
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "f1f677cd-31be-4383-adcf-f01eb83899d7",
- "name": "response",
- "value": "={{ $json.text }}",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "5712e906-18ab-4f87-916d-d772bf3e81e5",
- "name": "Send Response1",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 1840,
- 340
- ]
- },
- {
- "parameters": {
- "promptType": "define",
- "text": "={{ $json.chatInput }}\n{{\n$json.files\n ? `Here are the file locations:\n ${$json.files.map(file => file.fileName).join('\\n')}\n `\n : ''\n}}",
- "options": {
- "systemMessage": "Answer the user's question.\n\nAll files given by the user are stored in a directory. Use the tool to query the files where relevant."
- }
- },
- "id": "6c0b80a3-2541-456f-ae81-4f94255acc20",
- "name": "AI Agent",
- "type": "@n8n/n8n-nodes-langchain.agent",
- "typeVersion": 1.7,
- "position": [
- 740,
- 60
- ]
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "f1f677cd-31be-4383-adcf-f01eb83899d7",
- "name": "response",
- "value": "={{ $json.stdout }}",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "4847c2ee-1d07-478d-a4c6-1005c381aab5",
- "name": "Send Response2",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 1140,
- 940
- ]
- },
- {
- "parameters": {
- "name": "read_file_from_directory",
- "description": "Call this tool to query the contents of a file saved in the directory. Please note that only the answer will be returned and not the file.",
- "workflowId": {
- "__rl": true,
- "value": "={{ $workflow.id }}",
- "mode": "id"
- },
- "fields": {
- "values": [
- {
- "name": "route",
- "stringValue": "read_file"
- }
- ]
- },
- "specifyInputSchema": true,
- "schemaType": "manual",
- "inputSchema": "{\n\"type\": \"object\",\n\"properties\": {\n \"question\": {\n \"type\": \"string\",\n \"description\": \"ensure this is a fully formed question\"\n },\n\t\"filepath\": { \"type\": \"string\" }\n }\n}"
- },
- "id": "70c0cd4f-ed1f-4f6f-938a-ed7e3dbd643f",
- "name": "Read File Tool",
- "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
- "typeVersion": 1.2,
- "position": [
- 1020,
- 240
- ]
- },
- {
- "parameters": {
- "name": "search_directory",
- "description": "Call this tool to search over the directory listing.",
- "workflowId": {
- "__rl": true,
- "value": "={{ $workflow.id }}",
- "mode": "id"
- },
- "fields": {
- "values": [
- {
- "name": "route",
- "stringValue": "search_file"
- }
- ]
- },
- "specifyInputSchema": true,
- "jsonSchemaExample": "{\n\t\"search_terms\": \"some_value\"\n}"
- },
- "id": "5b922642-c5ef-427a-96ef-fd5b4a365032",
- "name": "Search File Tool",
- "type": "@n8n/n8n-nodes-langchain.toolWorkflow",
- "typeVersion": 1.2,
- "position": [
- 1160,
- 240
- ]
- },
- {
- "parameters": {
- "rules": {
- "values": [
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "leftValue": "={{ $json.body?.files || $json.files }}",
- "rightValue": "",
- "operator": {
- "type": "array",
- "operation": "notExists",
- "singleValue": true
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "without files"
- },
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "id": "0d67ec0a-1d61-4f6a-97e5-965b0d340ae4",
- "leftValue": "={{ $json.body?.files || $json.files }}",
- "rightValue": "",
- "operator": {
- "type": "array",
- "operation": "exists",
- "singleValue": true
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "with files"
- }
- ]
- },
- "options": {}
- },
- "id": "bebf197f-4f8d-4658-a5b0-320fac3ce179",
- "name": "Has Files?",
- "type": "n8n-nodes-base.switch",
- "typeVersion": 3.2,
- "position": [
- -180,
- 40
- ]
- },
- {
- "parameters": {
- "rules": {
- "values": [
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "leftValue": "={{ $json.route }}",
- "rightValue": "read_file",
- "operator": {
- "type": "string",
- "operation": "equals"
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "Read File from Directory"
- },
- {
- "conditions": {
- "options": {
- "caseSensitive": true,
- "leftValue": "",
- "typeValidation": "strict",
- "version": 2
- },
- "conditions": [
- {
- "id": "2d2b7d5d-ac9b-492c-b85f-db423dce1545",
- "leftValue": "={{ $json.route }}",
- "rightValue": "search_file",
- "operator": {
- "type": "string",
- "operation": "equals",
- "name": "filter.operator.equals"
- }
- }
- ],
- "combinator": "and"
- },
- "renameOutput": true,
- "outputKey": "search_file"
- }
- ]
- },
- "options": {
- "fallbackOutput": "extra"
- }
- },
- "id": "62bd45ce-65ad-4471-9c3d-1bdf48ce593e",
- "name": "Handle Route",
- "type": "n8n-nodes-base.switch",
- "typeVersion": 3.2,
- "position": [
- 600,
- 800
- ]
- },
- {
- "parameters": {
- "content": "### 2. Split Files Array into Separate Items\nOnly way to split is to use the code node. This allows us to action each file separately.",
- "height": 97.49999999999994,
- "width": 333.74999999999994,
- "color": 7
- },
- "id": "aee16613-862d-4c3c-b2a1-d8162bed77f7",
- "name": "Sticky Note",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- -240,
- 400
- ]
- },
- {
- "parameters": {
- "aggregate": "aggregateAllItemData",
- "destinationFieldName": "files",
- "options": {}
- },
- "id": "cbdcb5af-7b97-4d17-b40e-e96cfeac8cba",
- "name": "Combine",
- "type": "n8n-nodes-base.aggregate",
- "typeVersion": 1,
- "position": [
- 320,
- 240
- ]
- },
- {
- "parameters": {
- "content": "### 3. Combine file paths using Aggregate node\nWhen returning the filepaths to the agent, we don't want them as separate items but rather just a single list to inject into the prompt.",
- "height": 106.24999999999991,
- "width": 363.74999999999994,
- "color": 7
- },
- "id": "d26fdc68-b5c0-4e5d-8255-fc37ad172d10",
- "name": "Sticky Note1",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 320,
- 400
- ]
- },
- {
- "parameters": {
- "content": "### 1. Detect if files are included\nJust check the message before it hits the agent. You can put any number of other nodes in-between the chat trigger and AI agent.",
- "height": 113.74999999999994,
- "width": 333.74999999999994,
- "color": 7
- },
- "id": "a92dc4de-0a63-430f-8fb4-266b370e5d82",
- "name": "Sticky Note2",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- -120,
- -120
- ]
- },
- {
- "parameters": {
- "content": "### 4. Use tools to interact with the files saved to disk\nCustom workflow tools are preferred method here.",
- "height": 107.99999999999997,
- "width": 234.00000000000006,
- "color": 7
- },
- "id": "b1208271-9c55-45ea-87e4-666739fa4518",
- "name": "Sticky Note3",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 800,
- -100
- ]
- },
- {
- "parameters": {
- "content": "### 5. This is an example of the subworkflow router pattern\nIt lets you have multiple subworkflow tools in one template.",
- "height": 115,
- "width": 277.00000000000006,
- "color": 7
- },
- "id": "c9314a75-9521-4ec8-aacd-66c9a4f45b23",
- "name": "Sticky Note4",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 420,
- 640
- ]
- },
- {
- "parameters": {
- "content": "### 6. Extract contents from PDF\nTo read PDFs, you'll need to use the \"Extract from File\" node to get the text. Once extracted, provide it to the prompt as context.",
- "height": 115,
- "width": 338.00000000000006,
- "color": 7
- },
- "id": "098bbf38-52d6-43af-ae3f-c72ac371ccff",
- "name": "Sticky Note5",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 1360,
- 200
- ]
- },
- {
- "parameters": {
- "fileSelector": "={{ $json.query.filepath }}",
- "options": {}
- },
- "id": "7f3d6bea-0337-421f-856a-bc7b3fcf23e1",
- "name": "Read File",
- "type": "n8n-nodes-base.readWriteFile",
- "typeVersion": 1,
- "position": [
- 960,
- 600
- ],
- "onError": "continueErrorOutput"
- },
- {
- "parameters": {
- "content": "### 7. Extract contents from Images\nTo read images, typically the AI can read this for you without prior conversion steps. Use the binary message type for user to achieve this with n8n.",
- "height": 112,
- "width": 356.0000000000001,
- "color": 7
- },
- "id": "b5d8e1b6-7d69-466d-aa85-4e58f58d75e5",
- "name": "Sticky Note6",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 1500,
- 800
- ]
- },
- {
- "parameters": {
- "content": "### A note on Tool Design\nIdeally, you want the tool to return only the data you're looking for. Here the read file tool passes in a question alongside the filepath - this avoids the need to return the full file contents.",
- "height": 134,
- "width": 349
- },
- "id": "2c1f7b02-a7a0-4038-8ee8-4e262a4fb32e",
- "name": "Sticky Note7",
- "type": "n8n-nodes-base.stickyNote",
- "typeVersion": 1,
- "position": [
- 1040,
- -120
- ]
- },
- {
- "parameters": {},
- "id": "7d3edac0-6336-495f-ae2c-02744dccb414",
- "name": "Window Buffer Memory",
- "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
- "typeVersion": 1.3,
- "position": [
- 860,
- 240
- ]
- },
- {
- "parameters": {
- "promptType": "define",
- "text": "={{ $('Execute Workflow Trigger').first().json.query.question }}",
- "messages": {
- "messageValues": [
- {
- "message": "Answer the user's question using the contents of the image provided."
- },
- {
- "type": "HumanMessagePromptTemplate",
- "messageType": "imageBinary"
- }
- ]
- }
- },
- "id": "c0572521-faeb-4d98-8544-86f0d26dd283",
- "name": "Answer from Image Contents",
- "type": "@n8n/n8n-nodes-langchain.chainLlm",
- "typeVersion": 1.5,
- "position": [
- 1360,
- 620
- ]
- },
- {
- "parameters": {
- "assignments": {
- "assignments": [
- {
- "id": "5f95ad92-2eab-44ec-9bd9-d5170e6607bc",
- "name": "response",
- "value": "File not found. Be sure to prepend the full path `/home/node/temp/...`",
- "type": "string"
- }
- ]
- },
- "options": {}
- },
- "id": "0b1026db-7ca5-44a8-a04c-9a50033aa343",
- "name": "Not Found Response",
- "type": "n8n-nodes-base.set",
- "typeVersion": 3.4,
- "position": [
- 1140,
- 720
- ]
- },
- {
- "parameters": {
- "command": "=ls /home/node/temp | grep '{{ $json.query.search_terms.split(' ').join('\\\\|') }}'"
- },
- "id": "458cefb0-9451-4dcf-b092-b850618ea4d7",
- "name": "Search Directory",
- "type": "n8n-nodes-base.executeCommand",
- "typeVersion": 1,
- "position": [
- 960,
- 940
- ]
- },
- {
- "parameters": {
- "operation": "write",
- "fileName": "={{ `/home/node/temp/${$json.fileName}` }}",
- "options": {}
- },
- "id": "37d30ad9-72f1-4d2b-9301-91afe96a5801",
- "name": "Read/Write Files from Disk",
- "type": "n8n-nodes-base.readWriteFile",
- "typeVersion": 1,
- "position": [
- 160,
- 240
- ]
- },
- {
- "parameters": {
- "operation": "write",
- "fileName": "={{ `C:\\\\home\\\\node\\\\temp\\\\${$json.fileName}` }}",
- "options": {}
- },
- "id": "415cbac3-6ef0-4a3b-abb9-a54dc5e26063",
- "name": "Read/Write Files from Disk1",
- "type": "n8n-nodes-base.readWriteFile",
- "typeVersion": 1,
- "position": [
- 160,
- 460
- ]
- },
- {
- "parameters": {
- "httpMethod": "POST",
- "path": "test",
- "responseMode": "responseNode",
- "options": {}
- },
- "type": "n8n-nodes-base.webhook",
- "typeVersion": 2,
- "position": [
- -340,
- -100
- ],
- "id": "8c32e3fb-34fe-4151-9348-3599811bc963",
- "name": "Webhook",
- "webhookId": "a26f8763-f327-4a26-a1f0-988163540111"
- },
- {
- "parameters": {
- "options": {}
- },
- "type": "n8n-nodes-base.respondToWebhook",
- "typeVersion": 1.1,
- "position": [
- 1160,
- 60
- ],
- "id": "15722c2d-f1c2-4993-9b7e-8080494ccc85",
- "name": "Respond to Webhook"
- }
- ],
- "connections": {
- "When chat message received": {
- "main": [
- [
- {
- "node": "Has Files?",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Files To List": {
- "main": [
- [
- {
- "node": "Read/Write Files from Disk",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Set Fields": {
- "main": [
- [
- {
- "node": "AI Agent",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "OpenAI Chat Model": {
- "ai_languageModel": [
- [
- {
- "node": "AI Agent",
- "type": "ai_languageModel",
- "index": 0
- }
- ]
- ]
- },
- "Execute Workflow Trigger": {
- "main": [
- [
- {
- "node": "Handle Route",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "OpenAI Chat Model1": {
- "ai_languageModel": [
- [
- {
- "node": "Answer from PDF Contents",
- "type": "ai_languageModel",
- "index": 0
- }
- ]
- ]
- },
- "Extract from File": {
- "main": [
- [
- {
- "node": "Answer from PDF Contents",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Handle FileType": {
- "main": [
- [
- {
- "node": "Extract from File",
- "type": "main",
- "index": 0
- }
- ],
- [
- {
- "node": "Answer from Image Contents",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "OpenAI Chat Model2": {
- "ai_languageModel": [
- [
- {
- "node": "Answer from Image Contents",
- "type": "ai_languageModel",
- "index": 0
- }
- ]
- ]
- },
- "Answer from PDF Contents": {
- "main": [
- [
- {
- "node": "Send Response1",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "AI Agent": {
- "main": [
- [
- {
- "node": "Respond to Webhook",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Read File Tool": {
- "ai_tool": [
- [
- {
- "node": "AI Agent",
- "type": "ai_tool",
- "index": 0
- }
- ]
- ]
- },
- "Search File Tool": {
- "ai_tool": [
- [
- {
- "node": "AI Agent",
- "type": "ai_tool",
- "index": 0
- }
- ]
- ]
- },
- "Has Files?": {
- "main": [
- [
- {
- "node": "Set Fields",
- "type": "main",
- "index": 0
- }
- ],
- [
- {
- "node": "Files To List",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Handle Route": {
- "main": [
- [
- {
- "node": "Read File",
- "type": "main",
- "index": 0
- }
- ],
- [
- {
- "node": "Search Directory",
- "type": "main",
- "index": 0
- }
- ],
- [
- {
- "node": "Unknown Route",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Combine": {
- "main": [
- [
- {
- "node": "Set Fields",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Read File": {
- "main": [
- [
- {
- "node": "Handle FileType",
- "type": "main",
- "index": 0
- }
- ],
- [
- {
- "node": "Not Found Response",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Window Buffer Memory": {
- "ai_memory": [
- [
- {
- "node": "AI Agent",
- "type": "ai_memory",
- "index": 0
- }
- ]
- ]
- },
- "Answer from Image Contents": {
- "main": [
- [
- {
- "node": "Send Response",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Search Directory": {
- "main": [
- [
- {
- "node": "Send Response2",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Read/Write Files from Disk": {
- "main": [
- [
- {
- "node": "Combine",
- "type": "main",
- "index": 0
- }
- ]
- ]
- },
- "Read/Write Files from Disk1": {
- "main": [
- []
- ]
- },
- "Webhook": {
- "main": [
- [
- {
- "node": "Has Files?",
- "type": "main",
- "index": 0
- }
- ]
- ]
- }
- },
- "pinData": {}
- }
Advertisement
Add Comment
Please, Sign In to add comment