Chatbot LLM basé sur RAG

Avancé

Ceci est unAI RAG, Multimodal AIworkflow d'automatisation du domainecontenant 17 nœuds.Utilise principalement des nœuds comme GoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAi. Utiliser RAG, la base de données vectorielle Pinecone et OpenAI pour créer un chatbot sur les politiques d'entreprise

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": "ijORqghBWmOcVaCd",
  "meta": {
    "instanceId": "87616dfce72ffd690a51f4d408ac3b27a946f12a1119e0e281f5ed271497219e",
    "templateCredsSetupCompleted": true
  },
  "name": "ChatBot For RAG Based LLMs",
  "tags": [],
  "nodes": [
    {
      "id": "93879f6c-0d57-4049-9e42-44d906160eb6",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -440,
        -300
      ],
      "webhookId": "ba6e0e80-df72-4993-a938-16604c978e0b",
      "parameters": {
        "public": true,
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "688546eb-decc-4d88-b991-e6851d00d3c3",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -80,
        -300
      ],
      "parameters": {
        "options": {
          "systemMessage": "=You are an AI assistant specialized in analyzing user queries and retreive the data using pine cone vectore store via Vectore store QnA Tool. \n\nYour primary task is to answer questions accurately and precisely using the vector database, which contains relevant documents.\n\nOnly provide information that you retrieve from the documents (or verified expert knowledge). If something is not included in the dataset or is unclear, clearly state that you do not have sufficient information.\n\nStructure of your responses:\n• Concise and to the point\n• Specific numbers and facts, when available\n• Clearly indicate which quarterly tax deduction with the information comes from\n\nObjective:\nProvide users with reliable and quick insights to user questions without unnecessary details."
        }
      },
      "typeVersion": 2
    },
    {
      "id": "47d5f4e0-45e6-4a75-8250-76277a33addd",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -220,
        -60
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "qlhg6EzexBZ9bwXO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c5e00f0e-2494-443d-9ff5-ab476f174fda",
      "name": "Mémoire simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        20,
        80
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "5bdc6723-18e4-4637-b31e-2b7a722c2d30",
      "name": "Pinecone Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        300,
        80
      ],
      "parameters": {
        "options": {
          "pineconeNamespace": "<yourNameSpace>"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "n8ntest",
          "cachedResultName": "n8ntest"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "PJJqeU0YnPNhhvLk",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c9325bbd-95ee-49b6-80e3-b8eb18a3044e",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        320,
        240
      ],
      "parameters": {
        "options": {
          "batchSize": 512,
          "dimensions": 512
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "qlhg6EzexBZ9bwXO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1752c787-78f3-4c03-a44a-f619358b002b",
      "name": "Calculatrice",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        760,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c5130a15-b2fa-4c96-b890-6cda5a5d1e8a",
      "name": "Google Drive Trigger",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -1960,
        -240
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "18ElQ-fxK0zXX5Ahx1lk80OXnAJ9NwvHl",
          "cachedResultUrl": "https://drive.google.com/drive/folders/18ElQ-fxK0zXX5Ahx1lk80OXnAJ9NwvHl",
          "cachedResultName": "n8n"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "xFTXDFHVEmRlrR5e",
          "name": "Google Drive account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e918feee-188e-42c7-8012-09614b6d73a4",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1740,
        -240
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": "1AWznNmqjEyztSOFYG9PgKOYX_GfJvI-P",
          "cachedResultUrl": "https://drive.google.com/file/d/1AWznNmqjEyztSOFYG9PgKOYX_GfJvI-P/view?usp=drivesdk",
          "cachedResultName": "income-tax-bill-2025.pdf"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "xFTXDFHVEmRlrR5e",
          "name": "Google Drive account 2"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "f2da487d-cbda-478d-8a38-b4c2a920dbaf",
      "name": "Chargeur de données par défaut",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        -1140,
        40
      ],
      "parameters": {
        "loader": "pdfLoader",
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1
    },
    {
      "id": "0ce84124-e903-4b41-a9dc-2b701efbeeaf",
      "name": "Séparateur de texte récursif",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        -1120,
        220
      ],
      "parameters": {
        "options": {
          "splitCode": "markdown"
        },
        "chunkOverlap": 50
      },
      "typeVersion": 1
    },
    {
      "id": "c6fff7f0-d215-4d25-8e4e-bcd5cc200330",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2020,
        -600
      ],
      "parameters": {
        "width": 940,
        "height": 280,
        "content": "## Data Loader\n- #### GDrive - Trigger \n  This node will trigger for every minute and retrieve details for any change to the folder.\n- #### GDrive - Trigger\n  This node will download the latest changes from GDrive and pass them to pin cone vector store\n- #### PineCone Vector Store\n  Here, we are actually storing the files by splitting them by leveraging the capabilities of default data loader. \n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "abab349f-8cb4-489e-8a94-d369f89db0e0",
      "name": "PineconeVectorStore",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -1480,
        -240
      ],
      "parameters": {
        "mode": "insert",
        "options": {
          "pineconeNamespace": "[YouNameSpace]"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "n8ntest",
          "cachedResultName": "n8ntest"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "PJJqeU0YnPNhhvLk",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9cee9812-3cc7-4d3f-b7be-6d02b8f7ca3e",
      "name": "OpenAI Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        -1480,
        0
      ],
      "parameters": {
        "options": {
          "batchSize": 512,
          "dimensions": 512
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "qlhg6EzexBZ9bwXO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "401070d0-b61c-4fd4-9139-f82624e4d7fc",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -500
      ],
      "parameters": {
        "color": 4,
        "width": 940,
        "height": 180,
        "content": "## Data Retrieval\nWe have an AI Agent that connects to Vector Store and Retrieve the required information to the user questions. \n\nThis connects to Vector Store QnA tool which then further connects to Vector Store to fetch the information and share to Ai Agent for further processing. "
      },
      "typeVersion": 1
    },
    {
      "id": "82fe4b78-b7d9-4ee1-a319-eb6e44d013dd",
      "name": "Vector Store QnA",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        380,
        -100
      ],
      "parameters": {
        "description": "Returns documents related to company polices and everything important from those policy documents"
      },
      "typeVersion": 1.1
    },
    {
      "id": "84e007f0-7bfe-4788-900b-9a73376a1318",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        780,
        60
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "qlhg6EzexBZ9bwXO",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "74b8ed97-4177-4d50-ae41-856da7e16a43",
  "connections": {
    "1752c787-78f3-4c03-a44a-f619358b002b": {
      "ai_tool": [
        [
          {
            "node": "688546eb-decc-4d88-b991-e6851d00d3c3",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "e918feee-188e-42c7-8012-09614b6d73a4": {
      "main": [
        [
          {
            "node": "abab349f-8cb4-489e-8a94-d369f89db0e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c5e00f0e-2494-443d-9ff5-ab476f174fda": {
      "ai_memory": [
        [
          {
            "node": "688546eb-decc-4d88-b991-e6851d00d3c3",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "82fe4b78-b7d9-4ee1-a319-eb6e44d013dd": {
      "ai_tool": [
        [
          {
            "node": "688546eb-decc-4d88-b991-e6851d00d3c3",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "c9325bbd-95ee-49b6-80e3-b8eb18a3044e": {
      "ai_embedding": [
        [
          {
            "node": "5bdc6723-18e4-4637-b31e-2b7a722c2d30",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "47d5f4e0-45e6-4a75-8250-76277a33addd": {
      "ai_languageModel": [
        [
          {
            "node": "688546eb-decc-4d88-b991-e6851d00d3c3",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "9cee9812-3cc7-4d3f-b7be-6d02b8f7ca3e": {
      "ai_embedding": [
        [
          {
            "node": "abab349f-8cb4-489e-8a94-d369f89db0e0",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "84e007f0-7bfe-4788-900b-9a73376a1318": {
      "ai_languageModel": [
        [
          {
            "node": "82fe4b78-b7d9-4ee1-a319-eb6e44d013dd",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "f2da487d-cbda-478d-8a38-b4c2a920dbaf": {
      "ai_document": [
        [
          {
            "node": "abab349f-8cb4-489e-8a94-d369f89db0e0",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "c5130a15-b2fa-4c96-b890-6cda5a5d1e8a": {
      "main": [
        [
          {
            "node": "e918feee-188e-42c7-8012-09614b6d73a4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5bdc6723-18e4-4637-b31e-2b7a722c2d30": {
      "ai_vectorStore": [
        [
          {
            "node": "82fe4b78-b7d9-4ee1-a319-eb6e44d013dd",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "93879f6c-0d57-4049-9e42-44d906160eb6": {
      "main": [
        [
          {
            "node": "688546eb-decc-4d88-b991-e6851d00d3c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0ce84124-e903-4b41-a9dc-2b701efbeeaf": {
      "ai_textSplitter": [
        [
          {
            "node": "f2da487d-cbda-478d-8a38-b4c2a920dbaf",
            "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é ?

Avancé - 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é
Avancé
Nombre de nœuds17
Catégorie2
Types de nœuds13
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Pramod Kumar Rathoure

Pramod Kumar Rathoure

@prathoure

Design and build custom n8n workflows that:\n ⚡ Eliminate repetitive work 📊 Integrate tools like Google Workspace, CRMs, and APIs ✅ Deliver faster, error-free results I create solutions that save time, boost accuracy, and let teams focus on high-value work. For me, automation isn’t just about technology—it’s about freeing people from busywork so they can do what matters most. let’s talk—I can help you turn them into smooth, automated workflows.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34