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": "通用数字设备支持助手",
  "tags": [],
  "nodes": [
    {
      "id": "3a4f96f5-e0a5-46a5-b604-9c8a7b45e8a1",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        -420
      ],
      "parameters": {
        "width": 383.5309107901297,
        "height": 320.7616136919316,
        "content": "## 🎯 通用设备支持助手"
      },
      "typeVersion": 1
    },
    {
      "id": "configuration-note",
      "name": "便签 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        100
      ],
      "parameters": {
        "width": 350,
        "height": 350,
        "content": "## ⚙️ 配置检查清单"
      },
      "typeVersion": 1
    },
    {
      "id": "example-queries",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -500
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "## 💬 示例用户查询"
      },
      "typeVersion": 1
    },
    {
      "id": "troubleshooting",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -400
      ],
      "parameters": {
        "width": 300,
        "height": 300,
        "content": "## 🔍 故障排除"
      },
      "typeVersion": 1
    },
    {
      "id": "extension-ideas",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        100
      ],
      "parameters": {
        "width": 300,
        "height": 320,
        "content": "## 🚀 扩展想法"
      },
      "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模型",
      "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": "嵌入模型",
      "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 - Device Expert",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Document Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Document Loader": {
      "ai_document": [
        [
          {
            "node": "Upload to Vector Database",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Model": {
      "ai_embedding": [
        [
          {
            "node": "Manual Knowledge Base",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Upload Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Upload to Vector Database",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Conversation Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent - Device Expert",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Manual Data": {
      "main": [
        [
          {
            "node": "Upload to Vector Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook - User Query": {
      "main": [
        [
          {
            "node": "AI Agent - Device Expert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual Knowledge Base": {
      "ai_tool": [
        [
          {
            "node": "AI Agent - Device Expert",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Manual Upload Trigger": {
      "main": [
        [
          {
            "node": "Prepare Manual Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - Device Expert": {
      "main": [
        [
          {
            "node": "Send Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 客服机器人, AI RAG 检索增强

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量18
分类2
节点类型12
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流