Workflow n8n

Automatisation Google Drive avec n8n : traitement de documents en AI

  • Ce workflow n8n a pour objectif d'automatiser le traitement de documents stockés sur Google Drive en utilisant des modèles d'intelligence artificielle. Dans un contexte où la gestion de l'information est cruciale, ce processus permet aux entreprises de transformer des documents en données exploitables grâce à l'intégration de l'outil OpenRouter et de la technologie Gemini. Les cas d'usage incluent la création de résumés, l'extraction d'informations clés et la génération de réponses contextuelles, facilitant ainsi la prise de décision rapide et informée.
  • Le workflow débute avec un déclencheur manuel, permettant à l'utilisateur de tester le flux à la demande. Ensuite, les documents sont récupérés depuis Google Drive, suivis d'une extraction des données textuelles. Ces données sont ensuite traitées par un modèle d'OpenRouter pour générer des embeddings via Google Gemini. Les sections de texte sont ensuite préparées pour être traitées en lots, ce qui optimise le flux de travail. L'utilisation de la base de données vectorielle Pinecone permet de stocker et d'accéder efficacement aux données traitées.
  • Les bénéfices business de cette automatisation n8n incluent une réduction significative du temps de traitement des documents, une amélioration de la précision des informations extraites et une augmentation de la productivité des équipes. En intégrant des outils d'IA, les entreprises peuvent se concentrer sur des tâches à plus forte valeur ajoutée tout en minimisant les erreurs humaines.
Tags clés :automatisationGoogle Driveintelligence artificiellen8ntraitement de documents
Catégorie: Manual · Tags: automatisation, Google Drive, intelligence artificielle, n8n, traitement de documents0

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : détail des nœuds

  • When clicking ‘Test workflow’

    Ce noeud déclenche le workflow manuellement lorsque l'utilisateur clique sur 'Test workflow'.

  • Loop Over Items

    Ce noeud permet de traiter les éléments en les divisant en lots.

  • OpenRouter Chat Model

    Ce noeud utilise le modèle de chat OpenRouter pour générer des réponses.

  • Pinecone Vector Store

    Ce noeud interagit avec le magasin de vecteurs Pinecone pour stocker ou récupérer des données.

  • Embeddings Google Gemini

    Ce noeud génère des embeddings en utilisant le modèle Google Gemini.

  • Default Data Loader

    Ce noeud charge des données à partir de documents en utilisant le chargeur de données par défaut.

  • Recursive Character Text Splitter

    Ce noeud divise le texte en morceaux en utilisant un séparateur de caractères récursif.

  • Get Document From Google Drive

    Ce noeud récupère un document depuis Google Drive en utilisant son identifiant.

  • Extract Text Data From Google Document

    Ce noeud extrait des données textuelles d'un document Google.

  • Split Document Text Into Sections

    Ce noeud divise le texte d'un document en sections à l'aide d'un code JavaScript.

  • Prepare Sections For Looping

    Ce noeud prépare les sections pour être traitées en boucle.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié.

  • Sticky Note1

    Ce noeud crée une autre note autocollante avec un contenu spécifié.

  • AI Agent - Prepare Context

    Ce noeud prépare le contexte pour un agent d'IA en utilisant des options et un type de prompt.

  • Concatenate the context and section text

    Ce noeud concatène le contexte et le texte de la section pour former un seul ensemble de données.

  • Sticky Note2

    Ce noeud crée une deuxième note autocollante avec un contenu spécifié.

  • Sticky Note3

    Ce noeud crée une troisième note autocollante avec un contenu spécifié.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "VY4WBXuNDPxmOO5e",
  "meta": {
    "instanceId": "d16fb7d4b3eb9b9d4ad2ee6a7fbae593d73e9715e51f583c2a0e9acd1781c08e",
    "templateCredsSetupCompleted": true
  },
  "name": "RAG:Context-Aware Chunking | Google Drive to Pinecone via OpenRouter & Gemini",
  "tags": [
    {
      "id": "XZIQK6NdzGvgbZFd",
      "name": "Sell",
      "createdAt": "2025-01-15T12:28:48.424Z",
      "updatedAt": "2025-01-15T12:28:48.424Z"
    }
  ],
  "nodes": [
    {
      "id": "7abbfa6e-4b17-4656-9b82-377b1bacf539",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "448ec137-bf64-46b4-bf15-c7a040faa306",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        1100,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "f22557ee-7f37-40cd-9063-a9a759274663",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        20,
        440
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "ddH6iNlm09UxrXvu",
          "name": "Auto: OpenRouter"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "57e8792e-25ae-43d5-b4e9-e87642365ee9",
      "name": "Pinecone Vector Store",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        780,
        360
      ],
      "parameters": {
        "mode": "insert",
        "options": {},
        "pineconeIndex": {
          "__rl": true,
          "mode": "list",
          "value": "context-rag-test",
          "cachedResultName": "context-rag-test"
        }
      },
      "credentials": {
        "pineconeApi": {
          "id": "R3QGXSEIRTEAZttK",
          "name": "Auto: PineconeApi"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0a8c2426-0aaf-424a-b246-336a9034aba8",
      "name": "Embeddings Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "position": [
        720,
        540
      ],
      "parameters": {
        "modelName": "models/text-embedding-004"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "9idxGZRZ3BAKDoxq",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "edc587bd-494d-43e8-b6d6-26adab7af3dc",
      "name": "Default Data Loader",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        920,
        540
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "a82d4e0b-248e-426d-9ef3-f25e7078ceb3",
      "name": "Recursive Character Text Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        840,
        680
      ],
      "parameters": {
        "options": {},
        "chunkSize": 100000
      },
      "typeVersion": 1
    },
    {
      "id": "8571b92f-5587-454f-9700-ea04ca35311b",
      "name": "Get Document From Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        220,
        0
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": "1gm0jxFTLuiWB5u4esEjzoCPImrVqu0AEMIKBIesTf9M",
          "cachedResultUrl": "https://docs.google.com/document/d/1gm0jxFTLuiWB5u4esEjzoCPImrVqu0AEMIKBIesTf9M/edit?usp=drivesdk",
          "cachedResultName": "Udit Rawat - Details"
        },
        "options": {
          "googleFileConversion": {
            "conversion": {
              "docsToFormat": "text/plain"
            }
          }
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "SsiQguNA8w3Wwv4w",
          "name": "Auto: Google Drive"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "2bed3d0f-3d65-4394-87f1-e73320a43a4a",
      "name": "Extract Text Data From Google Document",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "837fa691-6c66-434b-ba82-d1cad9aecdf7",
      "name": "Split Document Text Into Sections",
      "type": "n8n-nodes-base.code",
      "position": [
        660,
        0
      ],
      "parameters": {
        "jsCode": "let split_text = \"—---------------------------—-------------[SECTIONEND]—---------------------------—-------------\";\nfor (const item of $input.all()) {\n item.json.section = item.json.data.split(split_text);\n item.json.document = JSON.stringify(item.json.section)\n}\nreturn $input.all();"
      },
      "typeVersion": 2
    },
    {
      "id": "cc801e7e-e01b-421a-9211-08322ef8a0b2",
      "name": "Prepare Sections For Looping",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        880,
        0
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "section"
      },
      "typeVersion": 1
    },
    {
      "id": "658cb8df-92e3-4b25-8f37-e5f959d913dc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -100
      ],
      "parameters": {
        "width": 1300,
        "height": 280,
        "content": "## Prepare Document. \nThis section is responsible for downloading the file from Google Drive, splitting the text into sections by detecting separators, and preparing them for looping."
      },
      "typeVersion": 1
    },
    {
      "id": "82ee9194-484a-46db-b75c-bec34201c7e2",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        220
      ],
      "parameters": {
        "width": 780,
        "height": 360,
        "content": "## Prepare context\nIn this section, the \nagent node will prepare \ncontext for a section \n(chunk of text), which \nwill then be passed for \nconversion into a vectors \nalong with the section itself."
      },
      "typeVersion": 1
    },
    {
      "id": "2f6950df-ead1-479a-aa51-7768121a4eb2",
      "name": "AI Agent - Prepare Context",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        40,
        260
      ],
      "parameters": {
        "text": "=<document> \n{{ $('Split Document Text Into Sections').item.json.document }}\n</document> \nHere is the chunk we want to situate within the whole document \n<chunk> \n{{ $json.section }}\n</chunk> \nPlease give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else. ",
        "agent": "conversationalAgent",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "34a465fc-a505-445a-9211-bcd830381354",
      "name": "Concatenate the context and section text",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        260
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e5fb0381-5d23-46e2-a0d1-438240b80a3e",
              "name": "=section_chunk",
              "type": "string",
              "value": "={{ $json.output }}. {{ $('Loop Over Items').item.json.section }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "4a7a788c-8e5b-453c-ae52-a4522048992d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        220
      ],
      "parameters": {
        "width": 580,
        "height": 600,
        "content": "## Convert Text To Vectors\nIn this step, the Pinecone node converts the provided text into vectors using Google Gemini and stores them in the Pinecone vector database."
      },
      "typeVersion": 1
    },
    {
      "id": "45798b49-fc78-417c-a752-4dd1a8882cd7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -460,
        -120
      ],
      "parameters": {
        "width": 400,
        "height": 300,
        "content": "## Video Demo\n[![Video Thumbnail](https://img.youtube.com/vi/qBeWP65I4hg/maxresdefault.jpg)](https://www.youtube.com/watch?v=qBeWP65I4hg)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "4f0e2203-5850-4a32-b1dd-5adc57fa43ff",
  "connections": {
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "AI Agent - Prepare Context",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent - Prepare Context",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Google Gemini": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent - Prepare Context": {
      "main": [
        [
          {
            "node": "Concatenate the context and section text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Sections For Looping": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Document From Google Drive": {
      "main": [
        [
          {
            "node": "Extract Text Data From Google Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Split Document Text Into Sections": {
      "main": [
        [
          {
            "node": "Prepare Sections For Looping",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Get Document From Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Text Data From Google Document": {
      "main": [
        [
          {
            "node": "Split Document Text Into Sections",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Concatenate the context and section text": {
      "main": [
        [
          {
            "node": "Pinecone Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises et équipes qui gèrent un volume important de documents numériques, notamment dans les secteurs de la gestion de projet, de la recherche et du développement. Il est conçu pour les utilisateurs ayant un niveau technique intermédiaire, souhaitant optimiser leurs processus grâce à l'automatisation n8n.

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : problème résolu

Ce workflow résout le problème de la gestion inefficace des documents en automatisant l'extraction et le traitement des informations. Les utilisateurs évitent ainsi les frustrations liées à la manipulation manuelle des données, réduisant le risque d'erreurs et de pertes d'informations. Grâce à cette automatisation, ils obtiennent des résultats plus rapides et précis, leur permettant de se concentrer sur des tâches stratégiques.

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : étapes du workflow

Étape 1 : Le flux est déclenché manuellement par l'utilisateur.

  • Étape 1 : Les documents sont récupérés depuis Google Drive.
  • Étape 2 : Les données textuelles sont extraites du document.
  • Étape 3 : Le texte est traité par le modèle OpenRouter pour générer des embeddings.
  • Étape 4 : Les sections de texte sont préparées pour être traitées en lots.
  • Étape 5 : Les données sont stockées dans la base de données vectorielle Pinecone pour un accès rapide.

Workflow n8n Google Drive, intelligence artificielle, traitement de documents : guide de personnalisation

Pour personnaliser ce workflow, commencez par modifier l'ID du fichier Google Drive dans le noeud 'Get Document From Google Drive'. Vous pouvez également ajuster les paramètres du modèle OpenRouter et de Google Gemini en fonction de vos besoins spécifiques. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des noeuds supplémentaires pour enrichir le flux. Assurez-vous de sécuriser le flux en configurant les autorisations d'accès appropriées pour les données sensibles.