Discuter avec un dossier Drive via RAG
Ceci est unAI RAG, Multimodal AIworkflow d'automatisation du domainecontenant 20 nœuds.Utilise principalement des nœuds comme GoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAi. Dialoguer avec les documents de Google Drive en utilisant GPT, Pinecone et RAG
- •Informations d'identification Google Drive API
- •Clé API OpenAI
- •Clé API Pinecone
Nœuds utilisés (20)
Catégorie
{
"id": "9RKrZdyiAYeuGv6W",
"meta": {
"instanceId": "c23cb86fa0050ec3afbd7900d224878abccb334ae42c0f7ffb061d805dfe19c7",
"templateCredsSetupCompleted": true
},
"name": "Talk with your Drive folder RAG",
"tags": [
{
"id": "GNqLf5pjefdKGbgv",
"name": "Agent",
"createdAt": "2025-08-28T08:18:53.209Z",
"updatedAt": "2025-08-28T08:18:53.209Z"
}
],
"nodes": [
{
"id": "b30ce82d-44b4-46d7-810c-eb64257b4327",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
60,
400
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "gKM5mJZRrP7c1SlE",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "18f18c72-0066-4803-8128-5d7d143d2c85",
"name": "Mémoire tampon fenêtrée",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
100,
620
],
"parameters": {
"sessionKey": "=docs-{{ $json.messages[0].from }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.2
},
{
"id": "950f35d8-fb93-4b6f-b528-c47c25c60301",
"name": "Outil de stockage vectoriel",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
300,
420
],
"parameters": {
"name": "get_documents",
"description": "Retrieve information from any company documents"
},
"typeVersion": 1
},
{
"id": "5603154c-8a32-48f5-9750-1e2aca633e31",
"name": "Générer des embeddings pour la recherche avec OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
200,
760
],
"parameters": {
"model": "text-embedding-3-small",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "gKM5mJZRrP7c1SlE",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "dfd9a08b-ec49-48a5-984f-55cc270de0ae",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
580,
720
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "gKM5mJZRrP7c1SlE",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "2b385fec-c2f9-43a9-bb28-e42b38346c44",
"name": "Embeddings OpenAI1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-960,
340
],
"parameters": {
"model": "text-embedding-3-small",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "gKM5mJZRrP7c1SlE",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "5431b1f1-1c98-4073-a15e-f46bc04a9481",
"name": "Chargeur de données par défaut",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-820,
240
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "f4ffd33e-8a9b-4f5a-b4a9-ec286b13ce68",
"name": "Séparateur de texte récursif",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
-660,
400
],
"parameters": {
"options": {},
"chunkSize": 2000,
"chunkOverlap": 100
},
"typeVersion": 1
},
{
"id": "918aa3af-19fa-48d3-8669-3dc841a9ba0b",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1000,
-80
],
"parameters": {
"color": 7,
"width": 614.6875,
"height": 731.1875,
"content": "## 2. Create a Vector Store\n[Read more about the In-Memory Vector Store](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreinmemory/)"
},
"typeVersion": 1
},
{
"id": "95668d63-a834-47a2-82f3-3039d2cb9d84",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-60
],
"parameters": {
"color": 7,
"width": 746.6875,
"height": 929.1875,
"content": "## 4. AI Agent Responds\n[Learn more about using AI Agents](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/)\n\nn8n's AI agents are powerful nodes which make it incredibly easy to use state-of-the-art AI in your workflows. Not only do they have the ability to remember conversations per individual customer but also tap into resources such as our product catalogue vector store to pull factual information and data for every question."
},
"typeVersion": 1
},
{
"id": "f2a080c7-5fbe-4426-b7d7-226934e76f3f",
"name": "Agent commercial IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
60,
220
],
"parameters": {
"text": "={{ $json.chatInput }}",
"options": {
"systemMessage": "You a personal assistant that helps me make decisions based on my internal information pdfs. Your goal is not to facilitate a explain any questions user might have about the documents.\n\nDo your best to answer any questions factually. If you don't know the answer or unable to obtain the information from the datastore, then tell the user so.\n\nAlways answer in short message, in the size of one paragraph: between 100 and 200 words. Better to answer in short messages, human like."
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "20a21f7b-e05e-4300-853e-7c1efbb6dfc7",
"name": "Télécharger le fichier depuis Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1260,
140
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {
"fileName": "={{ $json.name }}"
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "null",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "c81c5d09-a9d2-41b1-a0a6-d00eb1a7b58a",
"name": "Google Drive File Updated",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-1580,
360
],
"parameters": {
"event": "fileUpdated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1WlejjfGrijAhMsJ2zWUa-2OZsiXIj4Bu",
"cachedResultUrl": "https://drive.google.com/drive/folders/null",
"cachedResultName": "4. Personal Helper"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "null",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "186f3de8-cdb9-4190-91ec-aceba939a70c",
"name": "Google Drive File Created",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-1580,
160
],
"parameters": {
"event": "fileCreated",
"options": {
"fileType": "all"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1WlejjfGrijAhMsJ2zWUa-2OZsiXIj4Bu",
"cachedResultUrl": "https://drive.google.com/drive/folders/null",
"cachedResultName": "4. Personal Helper"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "6k5Fu82oEMsV1a3A",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "91e7cd3d-e35b-4483-b092-0350873fdb7c",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2060,
-680
],
"parameters": {
"width": 320,
"content": "## Add documents to vector store when updating or creating new documents in Google Drive"
},
"typeVersion": 1
},
{
"id": "bcda0f55-7251-48b0-b3ed-b2739b151dbe",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1700,
-60
],
"parameters": {
"color": 7,
"width": 640,
"height": 655,
"content": "## 1. Build Databse\n[Read more about the HTTP Request Tool](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest)\n\nImport your marketing PDF document to build your vector store. This will be used as the knowledgebase by the Tourist guide AI Agent."
},
"typeVersion": 1
},
{
"id": "d74cef89-3f35-4a1e-b0db-fcced3f11227",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-240,
220
],
"webhookId": "7d2ecd50-140d-4b7d-a07b-42300ce295b0",
"parameters": {
"public": true,
"options": {}
},
"typeVersion": 1.1
},
{
"id": "d1ecb940-335c-40c9-9880-d899b50aaa1b",
"name": "Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-900,
40
],
"parameters": {
"mode": "insert",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "my-docs",
"cachedResultName": "my-docs"
}
},
"credentials": {
"pineconeApi": {
"id": "oXLXLM4QUaxoxCQM",
"name": "PineconeApi account - M "
}
},
"typeVersion": 1
},
{
"id": "4e62dd9c-6c3a-4f13-9f0f-fef2df99a304",
"name": "Pinecone Vector Store (Retrieval)",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
280,
600
],
"parameters": {
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "my-docs",
"cachedResultName": "my-docs"
}
},
"credentials": {
"pineconeApi": {
"id": "oXLXLM4QUaxoxCQM",
"name": "PineconeApi account - M "
}
},
"typeVersion": 1
},
{
"id": "0efaa10f-2908-41a6-aeda-cd54c168f4ba",
"name": "Télécharger le fichier depuis Google Drive1",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1300,
380
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "list",
"value": "0AGMjmhIM2B3eUk9PVA",
"cachedResultUrl": "https://drive.google.com/drive/folders/0AGMjmhIM2B3eUk9PVA",
"cachedResultName": "Shape Labs"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1WlejjfGrijAhMsJ2zWUa-2OZsiXIj4Bu",
"cachedResultUrl": "https://drive.google.com/drive/folders/1WlejjfGrijAhMsJ2zWUa-2OZsiXIj4Bu",
"cachedResultName": "4. Personal Helper"
},
"resource": "folder"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "6k5Fu82oEMsV1a3A",
"name": "Google Drive account"
}
},
"typeVersion": 3
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e1019cc3-1fb9-421f-a440-ad87d0dc8d53",
"connections": {
"f2a080c7-5fbe-4426-b7d7-226934e76f3f": {
"main": [
[]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "4e62dd9c-6c3a-4f13-9f0f-fef2df99a304",
"type": "ai_embedding",
"index": 0
}
]
]
},
"b30ce82d-44b4-46d7-810c-eb64257b4327": {
"ai_languageModel": [
[
{
"node": "f2a080c7-5fbe-4426-b7d7-226934e76f3f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"950f35d8-fb93-4b6f-b528-c47c25c60301": {
"ai_tool": [
[
{
"node": "f2a080c7-5fbe-4426-b7d7-226934e76f3f",
"type": "ai_tool",
"index": 0
}
]
]
},
"2b385fec-c2f9-43a9-bb28-e42b38346c44": {
"ai_embedding": [
[
{
"node": "d1ecb940-335c-40c9-9880-d899b50aaa1b",
"type": "ai_embedding",
"index": 0
}
]
]
},
"dfd9a08b-ec49-48a5-984f-55cc270de0ae": {
"ai_languageModel": [
[
{
"node": "950f35d8-fb93-4b6f-b528-c47c25c60301",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"5431b1f1-1c98-4073-a15e-f46bc04a9481": {
"ai_document": [
[
{
"node": "d1ecb940-335c-40c9-9880-d899b50aaa1b",
"type": "ai_document",
"index": 0
}
]
]
},
"18f18c72-0066-4803-8128-5d7d143d2c85": {
"ai_memory": [
[
{
"node": "f2a080c7-5fbe-4426-b7d7-226934e76f3f",
"type": "ai_memory",
"index": 0
}
]
]
},
"186f3de8-cdb9-4190-91ec-aceba939a70c": {
"main": [
[
{
"node": "20a21f7b-e05e-4300-853e-7c1efbb6dfc7",
"type": "main",
"index": 0
}
]
]
},
"c81c5d09-a9d2-41b1-a0a6-d00eb1a7b58a": {
"main": [
[
{
"node": "20a21f7b-e05e-4300-853e-7c1efbb6dfc7",
"type": "main",
"index": 0
}
]
]
},
"d74cef89-3f35-4a1e-b0db-fcced3f11227": {
"main": [
[
{
"node": "f2a080c7-5fbe-4426-b7d7-226934e76f3f",
"type": "main",
"index": 0
}
]
]
},
"20a21f7b-e05e-4300-853e-7c1efbb6dfc7": {
"main": [
[
{
"node": "d1ecb940-335c-40c9-9880-d899b50aaa1b",
"type": "main",
"index": 0
}
]
]
},
"4e62dd9c-6c3a-4f13-9f0f-fef2df99a304": {
"ai_vectorStore": [
[
{
"node": "950f35d8-fb93-4b6f-b528-c47c25c60301",
"type": "ai_vectorStore",
"index": 0
}
]
]
},
"f4ffd33e-8a9b-4f5a-b4a9-ec286b13ce68": {
"ai_textSplitter": [
[
{
"node": "5431b1f1-1c98-4073-a15e-f46bc04a9481",
"type": "ai_textSplitter",
"index": 0
}
]
]
}
}
}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.
Workflows recommandés
Marko
@perspectalogBackend engineer with 10+ years of experience designing and optimizing database-driven systems. I help teams build scalable, secure, and high-performance infrastructure using modern backend stacks. Book a call to discuss how I can support your API, data, or automation workflows.
Partager ce workflow