일반 디지털 장치 지원 어시스턴트
고급
이것은Support Chatbot, AI RAG분야의자동화 워크플로우로, 18개의 노드를 포함합니다.주로 Set, Webhook, ManualTrigger, Agent, RespondToWebhook 등의 노드를 사용하며. GPT-4-mini와 Pinecone을 사용하여 모든 장치에 AI 지원 어시스턴트를 생성
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •OpenAI API Key
- •Pinecone API Key
사용된 노드 (18)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 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)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Webhook, Pinecone + OpenAI + n8n을 기반으로 한 지능형 문서 질문 응답 시스템
기반 OpenAI GPT, Pinecone 벡터 데이터베이스 및 Google Drive 통합의 문서 질문 답변 시스템
Webhook
Google Drive
Manual Trigger
+
Webhook
Google Drive
Manual Trigger
30 노드Mohan Gopal
내부 위키
AI 기반 WhatsApp 채팅 로봇
사용법 GPT-4o-mini와 MongoDB를 사용하여 문서에 대한 RAG 추동 WhatsApp 채팅 로봇 구축
Set
Code
Switch
+
Set
Code
Switch
35 노드Muhammad Shahzaib Shahid
지원 챗봇
제 작업 흐름
Google Drive와 GPT-4o를 통해 벡터 검색을 사용하여 지식庫 채팅 로봇을 생성합니다.
Set
Code
Webhook
+
Set
Code
Webhook
26 노드Gofive
지원 챗봇
Telegram AI 지원 채팅 로봇(다모드 입력)
GPT-4와 Supabase RAG을 사용하여 다중 모달 Telegram 지원 로봇을 생성합니다.
If
Set
Code
+
If
Set
Code
51 노드Ezema Kingsley Chibuzo
지원 챗봇
Google Drive와 Pinecone 벡터 데이터베이스를 사용하여 AI 기반 WhatsApp 로봇 생성
Google Drive와 Pinecone 벡터 데이터베이스를 사용하여 AI로운 WhatsApp 로봇을 만듭니다.
If
Set
Code
+
If
Set
Code
23 노드Cecilia
지원
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타