Construire un système de问答 de documents avec Google Drive, Pinecone et OpenAI RAG

Avancé

Ceci est uncontenant 19 nœuds.Utilise principalement des nœuds comme GoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAi. Construire un système de questions-réponses sur les documents avec Google Drive, Pinecone et OpenAI RAG

Prérequis
  • Informations d'identification Google Drive API
  • Clé API OpenAI
  • Clé API Pinecone

Catégorie

-
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
{
  "meta": {
    "instanceId": "79fe07f045222b356cf5ca430fe39cdf11b9fe024467e3b6b3e1a64d1a92c94f"
  },
  "nodes": [
    {
      "id": "56745855-bde9-45f2-bb9a-37c8a5544056",
      "name": "Google Déclencheur Drive",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -112,
        592
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "id",
          "value": "=Choose your folder"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "31b61802-30e6-4898-8a3b-881ddc96c127",
      "name": "Télécharger le fichier",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        160,
        592
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "url",
          "value": "=Choose your folder"
        },
        "options": {},
        "operation": "download"
      },
      "typeVersion": 3
    },
    {
      "id": "4d6b1ba5-38eb-4db1-a43c-e508ad192ff3",
      "name": "Pinecone Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        432,
        592
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "=Choose you index"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "3b3adc2c-f566-4c6d-8dad-2bff56fdc83d",
      "name": "Embeddings OpenAI",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        160,
        1024
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "3b3b0ebc-7972-4d4b-88fd-a7d9df5a30d8",
      "name": "Chargeur de données par défaut",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        608,
        848
      ],
      "parameters": {
        "options": {},
        "textSplittingMode": "custom"
      },
      "typeVersion": 1.1
    },
    {
      "id": "a95ab7b7-8624-4fb7-8238-45147bf8acd3",
      "name": "Séparateur de texte récursif",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        464,
        1056
      ],
      "parameters": {
        "options": {},
        "chunkOverlap": 100
      },
      "typeVersion": 1
    },
    {
      "id": "fd460847-a8aa-4c2d-946f-7deddfc2c64e",
      "name": "À la réception d'un message de chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        1040,
        672
      ],
      "webhookId": "9be55aab-2133-42ad-ab75-2c43888786b7",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "f796fa38-a472-4c68-81b7-78874d6b47fa",
      "name": "OpenAI Modèle de chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1264,
        896
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "7f2d4746-be6c-4dc3-bbf8-979a0e2cf2b5",
      "name": "Mémoire simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1392,
        896
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "677e0550-9d7f-4d55-a18e-694ca2d9ae55",
      "name": "Pinecone Vector Store1",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        1520,
        896
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "databases",
          "cachedResultName": "databases"
        },
        "toolDescription": "Use this as a knowledge base to answer the user message"
      },
      "typeVersion": 1.3
    },
    {
      "id": "22033102-58b8-4ec5-899c-8fc4ba290782",
      "name": "Note autocollante",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        528
      ],
      "parameters": {
        "color": 5,
        "width": 1056,
        "height": 688,
        "content": "## Document inserting"
      },
      "typeVersion": 1
    },
    {
      "id": "4a3f3dc6-e6f7-4357-b0ce-538ad5c4af7b",
      "name": "Note autocollante1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        960
      ],
      "parameters": {
        "color": 4,
        "width": 208,
        "height": 208,
        "content": "## Embeddings"
      },
      "typeVersion": 1
    },
    {
      "id": "ef37ed33-f7b8-412c-b534-0c949d48a0e1",
      "name": "Note autocollante2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        544
      ],
      "parameters": {
        "width": 320,
        "height": 176,
        "content": "## Storing"
      },
      "typeVersion": 1
    },
    {
      "id": "69048fc8-1479-4efe-980d-5a40b71c2fc2",
      "name": "Note autocollante3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        528
      ],
      "parameters": {
        "width": 992,
        "height": 560,
        "content": "## Test here\n\n* you can change the trigger as you need."
      },
      "typeVersion": 1
    },
    {
      "id": "843bcd47-d995-4a77-b6ac-7e81dd35b0d8",
      "name": "Note autocollante4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        832
      ],
      "parameters": {
        "color": 7,
        "width": 288,
        "height": 192,
        "content": "## Get the Database"
      },
      "typeVersion": 1
    },
    {
      "id": "b5fbdc8b-c696-417f-8e51-f03e0b65bbd8",
      "name": "Note autocollante5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        528
      ],
      "parameters": {
        "width": 432,
        "height": 704,
        "content": "## Credential Setup (Critical)\n\nYou'll need to create credentials for the following services. Click the link next to each one for the full setup guide from the n8n documentation:\n\nGoogle Drive OAuth2 API (Used by: Google Drive Trigger, Download file):\n\nLink: https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/\n\nAction: You need to set up an OAuth application in the Google Cloud Console to grant n8n access to your Google Drive files.\n\nPinecone API (Used by: Pinecone Vector Store, Pinecone Vector Store1):\n\nLink: https://docs.n8n.io/integrations/builtin/credentials/pinecone/\n\nAction: You'll need to get your API Key and Environment from your Pinecone account dashboard and enter them into the n8n credential setup.\n\nOpenAI API (Used by: Embeddings OpenAI, OpenAI Chat Model):\n\nLink: https://docs.n8n.io/integrations/builtin/credentials/openai/\n\nAction: You'll need to generate a Secret API Key from your OpenAI account to use for embeddings and the chat model.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "aafc6b73-18de-4934-b61b-e55556f12cd6",
      "name": "Note autocollante6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        176
      ],
      "parameters": {
        "color": 4,
        "width": 672,
        "height": 336,
        "content": "### **RAG system**\n\n### **How It Works**\n\n* **Summarize the Flow:** Distill the function of your entire workflow into a few high-level, easy-to-understand steps.\n\n### **Set Up Steps**\n\n* **Set Expectations:** Give users a clear idea of how long the setup will take.\n* **Keep It Concise:** Don't describe every minute detail in the main setup guide.\n* **Use Sticky Notes:** Place all detailed descriptions and complex instructions within **sticky notes** directly inside the n8n workflow itself, keeping the main documentation clean and brief."
      },
      "typeVersion": 1
    },
    {
      "id": "b99dc201-c075-4b5c-9433-2a8e69c86404",
      "name": "Note autocollante7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -640,
        80
      ],
      "parameters": {
        "color": 6,
        "width": 224,
        "height": 80,
        "content": "## workflow builder [Abdullah Ahmed](https://www.youtube.com/@gureyosman06)"
      },
      "typeVersion": 1
    },
    {
      "id": "56750d09-170d-4bcb-9831-7ee9e2f8d61b",
      "name": "Agent IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1328,
        672
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a helpful assistant"
        },
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    }
  ],
  "pinData": {},
  "connections": {
    "31b61802-30e6-4898-8a3b-881ddc96c127": {
      "main": [
        [
          {
            "node": "4d6b1ba5-38eb-4db1-a43c-e508ad192ff3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7f2d4746-be6c-4dc3-bbf8-979a0e2cf2b5": {
      "ai_memory": [
        [
          {
            "node": "56750d09-170d-4bcb-9831-7ee9e2f8d61b",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "3b3adc2c-f566-4c6d-8dad-2bff56fdc83d": {
      "ai_embedding": [
        [
          {
            "node": "4d6b1ba5-38eb-4db1-a43c-e508ad192ff3",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "677e0550-9d7f-4d55-a18e-694ca2d9ae55",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "f796fa38-a472-4c68-81b7-78874d6b47fa": {
      "ai_languageModel": [
        [
          {
            "node": "56750d09-170d-4bcb-9831-7ee9e2f8d61b",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "3b3b0ebc-7972-4d4b-88fd-a7d9df5a30d8": {
      "ai_document": [
        [
          {
            "node": "4d6b1ba5-38eb-4db1-a43c-e508ad192ff3",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "56745855-bde9-45f2-bb9a-37c8a5544056": {
      "main": [
        [
          {
            "node": "31b61802-30e6-4898-8a3b-881ddc96c127",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "677e0550-9d7f-4d55-a18e-694ca2d9ae55": {
      "ai_tool": [
        [
          {
            "node": "56750d09-170d-4bcb-9831-7ee9e2f8d61b",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "fd460847-a8aa-4c2d-946f-7deddfc2c64e": {
      "main": [
        [
          {
            "node": "56750d09-170d-4bcb-9831-7ee9e2f8d61b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a95ab7b7-8624-4fb7-8238-45147bf8acd3": {
      "ai_textSplitter": [
        [
          {
            "node": "3b3b0ebc-7972-4d4b-88fd-a7d9df5a30d8",
            "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é

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œuds19
Catégorie-
Types de nœuds11
Description de la difficulté

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

Auteur
Abdullahi Ahmed

Abdullahi Ahmed

@abdosman06

I'm an Automation consultant with over 1 year of experience helping businesses to streamline their processes. Use my link to book an initial consultation for custom n8n work.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34