シンプルな RAG チャットボット

中級

これはAI RAG, Multimodal AI分野の自動化ワークフローで、15個のノードを含みます。主にGoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAiなどのノードを使用。 OpenAIとPineconeを使用したカスタマーサポートRAGチャットボット

前提条件
  • Google Drive API認証情報
  • OpenAI API Key
  • Pinecone API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "QGCfa3ryox2OEBTG",
  "meta": {
    "instanceId": "e73c77a832a4af1fdbfd95e61201dd65dffb85871e88031e3f1475c5661e7b54",
    "templateCredsSetupCompleted": true
  },
  "name": "Simple RAG chatbot",
  "tags": [],
  "nodes": [
    {
      "id": "a94cdaf0-a036-435a-9d44-971a4c6956dd",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        496,
        -368
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "1cDW1qkq76TX5Hr4k_JWBZjMigOf4hdC3",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1cDW1qkq76TX5Hr4k_JWBZjMigOf4hdC3",
          "cachedResultName": "Snapfectly RAG"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "JB10qqMjiksmdbv3",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0b22f8be-3b90-4079-a4bc-867419478519",
      "name": "ファイルをダウンロード",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        704,
        -368
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "JB10qqMjiksmdbv3",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a0868cac-fb37-48c3-804f-ec58ab130a29",
      "name": "Pinecone Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        896,
        -368
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "snapfectly",
          "cachedResultName": "snapfectly"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "h1UI8woC0WdDAHUi",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "abfa54c4-c88a-4362-ae5c-89bc1a63193c",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        896,
        -160
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "iuyzWhX2JGVK5PCn",
          "name": "OpenAI Hostinger"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1a035b2f-99bd-4673-a6c1-775b7494d9cc",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        1072,
        -160
      ],
      "parameters": {
        "options": {},
        "textSplittingMode": "custom"
      },
      "typeVersion": 1.1
    },
    {
      "id": "5bed9568-6db7-4bcd-85cc-1dbcfd673b76",
      "name": "Recursive Character Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        1072,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -64,
        -368
      ],
      "parameters": {
        "options": {
          "systemMessage": "## Your Role\nYou are a helpful assistant that finds information from our vector store to answer user questions.\n\n## How You Work\n1. When a user asks a question, search the vector store for relevant information\n2. Use the retrieved information to provide accurate answers\n3. Always base your response on what you find in the database\n4. if you didn't find an answer, just say it don't try to fill the gap\n\n## Response Rules\n- **Answer directly** - Give the user what they asked for first\n- **Use retrieved data only** - Don't make up information\n- **Be clear about sources** - Mention when information comes from the database\n- **If no information found** - Tell the user \"I couldn't find information about that in the database\"\n- **Stay helpful** - Offer to search for related topics if the exact answer isn't available"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "31a42bd8-60ca-48f6-bbf8-ba303cdf9ff6",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -192,
        -160
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "iuyzWhX2JGVK5PCn",
          "name": "OpenAI Hostinger"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3bbb2363-49b4-4fc8-a49c-9e6ace38f1a3",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -48,
        -160
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "475324a5-6e46-4e3c-9494-defc406e4e0c",
      "name": "Embeddings OpenAI1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        96,
        0
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "iuyzWhX2JGVK5PCn",
          "name": "OpenAI Hostinger"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8ee72c96-167e-4baa-9e3a-15d101ca5e52",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -464
      ],
      "parameters": {
        "color": 3,
        "width": 752,
        "height": 672,
        "content": "## Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "6d384a15-5bb8-4654-b0a5-e39a3764e75b",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -464
      ],
      "parameters": {
        "color": 5,
        "width": 1008,
        "height": 672,
        "content": "## Insert documents into pinecone"
      },
      "typeVersion": 1
    },
    {
      "id": "bf7498d8-c3c8-42bc-b3f3-eca2ea027eec",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -272,
        -368
      ],
      "webhookId": "df5359c0-5a3e-43e8-8f66-409858dc3988",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "9097259b-2ec7-4cd6-995e-6dc34d8e43f8",
      "name": "Reranker Cohere",
      "type": "@n8n/n8n-nodes-langchain.rerankerCohere",
      "position": [
        240,
        0
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "Q163qlHuFVE8jMyx",
          "name": "CohereApi"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "166b7c53-c144-44e3-8207-976ad590c14f",
      "name": "Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        96,
        -160
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 10,
        "options": {},
        "useReranker": true,
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "snapfectly",
          "cachedResultName": "snapfectly"
        },
        "toolDescription": "use this to retrieve information from our vector database"
      },
      "credentials": {
        "pineconeApi": {
          "id": "h1UI8woC0WdDAHUi",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bc2ff0c7-9231-4306-9600-520cc82547b1",
  "connections": {
    "166b7c53-c144-44e3-8207-976ad590c14f": {
      "ai_tool": [
        [
          {
            "node": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "0b22f8be-3b90-4079-a4bc-867419478519": {
      "main": [
        [
          {
            "node": "a0868cac-fb37-48c3-804f-ec58ab130a29",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bbb2363-49b4-4fc8-a49c-9e6ace38f1a3": {
      "ai_memory": [
        [
          {
            "node": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "9097259b-2ec7-4cd6-995e-6dc34d8e43f8": {
      "ai_reranker": [
        [
          {
            "node": "166b7c53-c144-44e3-8207-976ad590c14f",
            "type": "ai_reranker",
            "index": 0
          }
        ]
      ]
    },
    "abfa54c4-c88a-4362-ae5c-89bc1a63193c": {
      "ai_embedding": [
        [
          {
            "node": "a0868cac-fb37-48c3-804f-ec58ab130a29",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "31a42bd8-60ca-48f6-bbf8-ba303cdf9ff6": {
      "ai_languageModel": [
        [
          {
            "node": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "475324a5-6e46-4e3c-9494-defc406e4e0c": {
      "ai_embedding": [
        [
          {
            "node": "166b7c53-c144-44e3-8207-976ad590c14f",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "1a035b2f-99bd-4673-a6c1-775b7494d9cc": {
      "ai_document": [
        [
          {
            "node": "a0868cac-fb37-48c3-804f-ec58ab130a29",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "a94cdaf0-a036-435a-9d44-971a4c6956dd": {
      "main": [
        [
          {
            "node": "0b22f8be-3b90-4079-a4bc-867419478519",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bf7498d8-c3c8-42bc-b3f3-eca2ea027eec": {
      "main": [
        [
          {
            "node": "080c49d0-665f-4f01-8098-05a7fb7f2e88",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5bed9568-6db7-4bcd-85cc-1dbcfd673b76": {
      "ai_textSplitter": [
        [
          {
            "node": "1a035b2f-99bd-4673-a6c1-775b7494d9cc",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - AI RAG検索拡張, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ12
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Ilyass Kanissi

Ilyass Kanissi

@ilyass

I design and build custom no-code and low-code automations using n8n to help businesses save hours of manual work, streamline operations, and create clean, scalable workflows.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34