8
n8n 한국어amn8n.com

일반 디지털 장치 지원 어시스턴트

고급

이것은Support Chatbot, AI RAG분야의자동화 워크플로우로, 18개의 노드를 포함합니다.주로 Set, Webhook, ManualTrigger, Agent, RespondToWebhook 등의 노드를 사용하며. GPT-4-mini와 Pinecone을 사용하여 모든 장치에 AI 지원 어시스턴트를 생성

사전 요구사항
  • HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
  • OpenAI API Key
  • Pinecone API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "templateId": "universal-device-assistant-v1",
    "templateCreatedDate": "2024-01-15T00:00:00.000Z"
  },
  "name": "Universal Digital Device Support Assistant",
  "tags": [],
  "nodes": [
    {
      "id": "3a4f96f5-e0a5-46a5-b604-9c8a7b45e8a1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        -420
      ],
      "parameters": {
        "width": 383.5309107901297,
        "height": 320.7616136919316,
        "content": "## 🎯 UNIVERSAL DEVICE SUPPORT ASSISTANT\n\nThis workflow creates an AI-powered support system for ANY device:\n• Kitchen appliances\n• Electronics\n• Smart home devices\n• Power tools\n• Medical equipment\n\n### 📊 Performance:\n• Response time: <3 seconds\n• Accuracy: 95%+\n• Languages: Unlimited\n\n### 🔧 Setup:\n1. Add API credentials\n2. Upload device manuals\n3. Activate workflow\n4. Share webhook URL"
      },
      "typeVersion": 1
    },
    {
      "id": "configuration-note",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        100
      ],
      "parameters": {
        "width": 350,
        "height": 350,
        "content": "## ⚙️ CONFIGURATION CHECKLIST\n\n- [ ] OpenAI API Key added\n- [ ] Pinecone API Key added\n- [ ] Webhook path configured\n- [ ] CORS headers enabled\n- [ ] Memory window set\n- [ ] Chunk size optimized\n- [ ] Test manual uploaded\n- [ ] Response tested\n\n💡 **Tips:**\n• Use chunk size 1000 for manuals\n• Enable CORS for web apps\n• Test with simple queries first"
      },
      "typeVersion": 1
    },
    {
      "id": "example-queries",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -500
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "## 💬 EXAMPLE USER QUERIES\n\n**Test these to verify setup:**\n\n• 'My dishwasher shows error E24'\n• 'How do I set up my smart thermostat?'\n• 'Coffee machine not heating'\n• 'Router red light blinking'\n• 'TV remote not working'\n• 'Washing machine making noise'\n• 'Printer paper jam'\n• 'Vacuum cleaner lost suction'"
      },
      "typeVersion": 1
    },
    {
      "id": "troubleshooting",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -400
      ],
      "parameters": {
        "width": 300,
        "height": 300,
        "content": "## 🔍 TROUBLESHOOTING\n\n**❌ No response:**\n→ Check API keys\n→ Verify webhook is active\n→ Check execution logs\n\n**❌ Poor answers:**\n→ Upload more detailed manuals\n→ Adjust chunk size\n→ Improve system prompt\n\n**❌ Slow response:**\n→ Reduce token limit\n→ Optimize vector search\n→ Use caching"
      },
      "typeVersion": 1
    },
    {
      "id": "extension-ideas",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        100
      ],
      "parameters": {
        "width": 300,
        "height": 320,
        "content": "## 🚀 EXTENSION IDEAS\n\n• Add image recognition for visual guides\n• Connect to IoT devices for real-time data\n• Integrate with ticketing systems\n• Add multi-language support\n• Create mobile app\n• Add voice interface\n• Connect to manufacturer APIs\n• Add warranty tracking\n• Create maintenance reminders\n• Build analytics dashboard"
      },
      "typeVersion": 1
    },
    {
      "id": "webhook-entry",
      "name": "Webhook - 사용자 질의",
      "type": "n8n-nodes-base.webhook",
      "notes": "Receives user queries about any household device",
      "position": [
        -680,
        -260
      ],
      "webhookId": "device-assistant",
      "parameters": {
        "path": "device-assistant",
        "options": {
          "responseHeaders": {
            "entries": [
              {
                "name": "Access-Control-Allow-Origin",
                "value": "*"
              }
            ]
          }
        },
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 1.1
    },
    {
      "id": "ai-agent",
      "name": "AI Agent - 장치 전문가",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "notes": "Processes queries using LLM and knowledge base",
      "position": [
        -280,
        -260
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a Universal Digital Device Support Assistant - an intelligent AI helper for any household or technical device.\n\n## Your Role\n- Technical expert for all types of devices (household appliances, electronics, smart home, etc.)\n- Specialist in setup, configuration, and troubleshooting\n- Patient explainer using official manuals and documentation\n\n## Your Knowledge Base\nYou have access to device manuals through the vector database. Use this information for accurate, step-by-step guidance.\n\n## Communication Style\n- Friendly and patient\n- Technically accurate yet understandable\n- Structured responses with clear steps\n- Always reference manual sections when available\n\n## Key Functions\n- Initial setup and installation\n- Configuration and optimization\n- Troubleshooting common issues\n- Maintenance recommendations\n- Safety guidelines\n\n## Example Devices\n- Kitchen appliances (ovens, dishwashers, coffee machines)\n- Home entertainment (TVs, sound systems)\n- Smart home devices (thermostats, security cameras)\n- Computer peripherals (printers, routers)\n- Power tools and garden equipment\n\n## Response Format\nProvide:\n1. Clear identification of the device/issue\n2. Step-by-step instructions\n3. Safety warnings if applicable\n4. Tips for optimal use\n5. When to contact professional support\n\nAlways use information from the knowledge base when available."
        }
      },
      "typeVersion": 1.9
    },
    {
      "id": "webhook-response",
      "name": "응답 전송",
      "type": "n8n-nodes-base.respondToWebhook",
      "notes": "Returns formatted response to user",
      "position": [
        320,
        -260
      ],
      "parameters": {
        "options": {
          "responseCode": 200,
          "responseHeaders": {
            "entries": [
              {
                "name": "Content-Type",
                "value": "application/json"
              }
            ]
          }
        },
        "respondWith": "json",
        "responseBody": "={{ JSON.stringify({\n  response: $json.output || \"I couldn't generate a response. Please try rephrasing your question.\",\n  sessionId: $json.sessionId || \"default\",\n  device: $json.device || \"unknown\",\n  timestamp: new Date().toISOString(),\n  confidence: $json.confidence || 0.8\n}) }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "llm-model",
      "name": "LLM Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "notes": "Configure with your preferred LLM (OpenAI, Anthropic, local models, etc.)",
      "position": [
        -420,
        -60
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4-mini"
        },
        "options": {
          "maxTokens": 2000,
          "temperature": 0.3
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "{{ADD_YOUR_OPENAI_CREDENTIAL_ID}}",
          "name": "OpenAI account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "conversation-memory",
      "name": "대화 메모리",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "notes": "Maintains context throughout the conversation",
      "position": [
        -240,
        -60
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "vector-database",
      "name": "수동 지식 베이스",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "notes": "Vector database containing device manuals. Can be replaced with Qdrant, Weaviate, or other vector stores",
      "position": [
        -100,
        -60
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "topK": 5
        },
        "toolName": "Device_Manual_Database",
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "device-manuals"
        },
        "toolDescription": "Comprehensive database of device manuals including setup instructions, troubleshooting guides, technical specifications, and maintenance procedures for various household and technical devices."
      },
      "credentials": {
        "pineconeApi": {
          "id": "{{ADD_YOUR_PINECONE_CREDENTIAL_ID}}",
          "name": "Pinecone account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "embeddings-model",
      "name": "Embeddings Model",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "notes": "Creates embeddings for semantic search. Can use any embedding model",
      "position": [
        -60,
        100
      ],
      "parameters": {
        "model": "text-embedding-ada-002",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "{{ADD_YOUR_OPENAI_CREDENTIAL_ID}}",
          "name": "OpenAI account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "manual-upload",
      "name": "수동 업로드 트리거",
      "type": "n8n-nodes-base.manualTrigger",
      "notes": "Use this to upload new device manuals to the knowledge base",
      "position": [
        -600,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "prepare-manual-data",
      "name": "매뉴얼 데이터 준비",
      "type": "n8n-nodes-base.set",
      "notes": "Format manual text and metadata for upload",
      "position": [
        -380,
        300
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "device-info",
              "name": "deviceType",
              "type": "string",
              "value": "Example: Smart Thermostat"
            },
            {
              "id": "manual-text",
              "name": "text",
              "type": "string",
              "value": "=PASTE YOUR DEVICE MANUAL TEXT HERE\n\nExample content:\n\nChapter 1: Installation\n- Step 1: Remove device from packaging\n- Step 2: Check included components\n- Step 3: Install batteries or connect power\n\nChapter 2: Initial Setup\n- Connect to WiFi network\n- Download companion app\n- Follow in-app instructions\n\nChapter 3: Troubleshooting\n- Device not responding: Check power connection\n- Connection issues: Verify WiFi password\n- Reset procedure: Hold button for 10 seconds\n\nReplace this with your actual device manual content!"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "upload-to-vectordb",
      "name": "벡터 데이터베이스 업로드",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "notes": "Stores manual content in vector database for retrieval",
      "position": [
        -120,
        300
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "device-manuals"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "{{ADD_YOUR_PINECONE_CREDENTIAL_ID}}",
          "name": "Pinecone account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "document-loader",
      "name": "문서 로더",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "notes": "Processes various document formats (PDF, TXT, DOCX)",
      "position": [
        -20,
        520
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "text-splitter",
      "name": "텍스트 분할기",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "notes": "Splits large documents into searchable chunks",
      "position": [
        60,
        700
      ],
      "parameters": {
        "options": {},
        "chunkSize": 1000,
        "chunkOverlap": 200
      },
      "typeVersion": 1
    },
    {
      "id": "upload-embeddings",
      "name": "임베딩 업로드",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "notes": "Creates embeddings for manual upload",
      "position": [
        -200,
        560
      ],
      "parameters": {
        "model": "text-embedding-ada-002",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "{{ADD_YOUR_OPENAI_CREDENTIAL_ID}}",
          "name": "OpenAI account"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "connections": {
    "llm-model": {
      "ai_languageModel": [
        [
          {
            "node": "ai-agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "text-splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "document-loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "document-loader": {
      "ai_document": [
        [
          {
            "node": "upload-to-vectordb",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "embeddings-model": {
      "ai_embedding": [
        [
          {
            "node": "vector-database",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "upload-embeddings": {
      "ai_embedding": [
        [
          {
            "node": "upload-to-vectordb",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "conversation-memory": {
      "ai_memory": [
        [
          {
            "node": "ai-agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "prepare-manual-data": {
      "main": [
        [
          {
            "node": "upload-to-vectordb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "webhook-entry": {
      "main": [
        [
          {
            "node": "ai-agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "vector-database": {
      "ai_tool": [
        [
          {
            "node": "ai-agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "manual-upload": {
      "main": [
        [
          {
            "node": "prepare-manual-data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ai-agent": {
      "main": [
        [
          {
            "node": "webhook-response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 지원 챗봇, AI RAG

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수18
카테고리2
노드 유형12
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34