Chatbot RAG simple

Intermédiaire

Ceci est unAI RAG, Multimodal AIworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme GoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAi. Chatbot de support client RAG avec OpenAI et Pinecone

Prérequis
  • Informations d'identification Google Drive API
  • Clé API OpenAI
  • Clé API Pinecone
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Télécharger le fichier",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - RAG IA, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds15
Catégorie2
Types de nœuds12
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34