Workflow n8n

Automatisation LangChain avec n8n : création d'agents AI personnalisés

Ce workflow n8n permet de créer un agent AI personnalisé en utilisant LangChain et le modèle Google Gemini. Il s'adresse aux entreprises souhaitant intégrer des solutions d'intelligence artificielle dans leurs processus de communication, offrant ainsi une réponse rapide et pertinente aux demandes des utilisateurs. Les cas d'usage incluent le support client automatisé, la génération de contenu et l'interaction intelligente avec les utilisateurs. Le workflow débute avec le déclencheur 'When chat message received', qui active le processus dès qu'un message est reçu. Ensuite, le modèle Google Gemini est utilisé pour générer des réponses basées sur les messages d'entrée. L'historique des conversations est stocké pour permettre un suivi contextuel, et des notes autocollantes sont créées pour visualiser les étapes clés du processus. La construction et l'exécution de prompts LLM permettent d'affiner les réponses fournies par l'agent AI. En intégrant ce workflow, les entreprises peuvent améliorer leur efficacité opérationnelle, réduire les temps de réponse et offrir une expérience utilisateur enrichie, tout en bénéficiant de l'expertise de notre agence d'automatisation n8n.

Tags clés :automatisationLangChainGoogle GeminiAIn8n
Catégorie: Webhook · Tags: automatisation, LangChain, Google Gemini, AI, n8n0

Workflow n8n LangChain, Google Gemini : vue d'ensemble

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

Workflow n8n LangChain, Google Gemini : détail des nœuds

  • When chat message received

    Ce noeud déclenche le workflow lorsqu'un message de chat est reçu.

  • Google Gemini Chat Model

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

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions définies.

  • Store conversation history

    Ce noeud stocke l'historique des conversations dans une mémoire tampon.

  • Construct & Execute LLM Prompt

    Ce noeud construit et exécute un prompt pour le modèle de langage avec des entrées et des sorties définies.

  • Sticky Note1

    Ce noeud crée une note autocollante avec une couleur, des dimensions et un contenu spécifiés.

  • Sticky Note2

    Ce noeud crée une note autocollante avec une hauteur et un contenu définis.

  • Sticky Note3

    Ce noeud crée une note autocollante avec des dimensions et un contenu spécifiés.

  • Sticky Note4

    Ce noeud crée une note autocollante avec des dimensions et un contenu définis.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "yCIEiv9QUHP8pNfR",
  "meta": {
    "instanceId": "f29695a436689357fd2dcb55d528b0b528d2419f53613c68c6bf909a92493614",
    "templateCredsSetupCompleted": true
  },
  "name": "Build Custom AI Agent with LangChain & Gemini (Self-Hosted)",
  "tags": [
    {
      "id": "7M5ZpGl3oWuorKpL",
      "name": "share",
      "createdAt": "2025-03-26T01:17:15.342Z",
      "updatedAt": "2025-03-26T01:17:15.342Z"
    }
  ],
  "nodes": [
    {
      "id": "8bd5382d-f302-4e58-b377-7fc5a22ef994",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -220,
        0
      ],
      "webhookId": "b8a5d72c-4172-40e8-b429-d19c2cd6ce54",
      "parameters": {
        "public": true,
        "options": {
          "responseMode": "lastNode",
          "allowedOrigins": "*",
          "loadPreviousSession": "memory"
        },
        "initialMessages": ""
      },
      "typeVersion": 1.1
    },
    {
      "id": "6ae8a247-4077-4569-9e2c-bb68bcecd044",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        80,
        240
      ],
      "parameters": {
        "options": {
          "temperature": 0.7,
          "safetySettings": {
            "values": [
              {
                "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
                "threshold": "BLOCK_NONE"
              }
            ]
          }
        },
        "modelName": "models/gemini-2.0-flash-exp"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "UEjKMw0oqBTAdCWJ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bbe6dcfa-430f-43f9-b0e9-3cf751b98818",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -240
      ],
      "parameters": {
        "width": 260,
        "height": 220,
        "content": "👇 **Prompt Engineering**\n   - Define agent personality and conversation structure in the `Construct & Execute LLM Prompt` node's template variable  \n   - ⚠️ Template must preserve `{chat_history}` and `{input}` placeholders for proper LangChain operation  "
      },
      "typeVersion": 1
    },
    {
      "id": "892a431a-6ddf-47fc-8517-1928ee99c95b",
      "name": "Store conversation history",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        280,
        240
      ],
      "parameters": {},
      "notesInFlow": false,
      "typeVersion": 1.3
    },
    {
      "id": "f9a22dbf-cac7-4d70-85b3-50c44a2015d5",
      "name": "Construct & Execute LLM Prompt",
      "type": "@n8n/n8n-nodes-langchain.code",
      "position": [
        380,
        0
      ],
      "parameters": {
        "code": {
          "execute": {
            "code": "const { PromptTemplate } = require('@langchain/core/prompts');\nconst { ConversationChain } = require('langchain/chains');\nconst { BufferMemory } = require('langchain/memory');\n\nconst template = `\nYou'll be roleplaying as the user's girlfriend. Your character is a woman with a sharp wit, logical mindset, and a charmingly aloof demeanor that hides your playful side. You're passionate about music, maintain a fit and toned physique, and carry yourself with quiet self-assurance. Career-wise, you're established and ambitious, approaching life with positivity while constantly striving to grow as a person.\n\nThe user affectionately calls you \"Bunny,\" and you refer to them as \"Darling.\"\n\nEssential guidelines:\n1. Respond exclusively in Chinese\n2. Never pose questions to the user - eliminate all interrogative forms\n3. Keep responses brief and substantive, avoiding rambling or excessive emojis\n\nContext framework:\n- Conversation history: {chat_history}\n- User's current message: {input}\n\nCraft responses that feel authentic to this persona while adhering strictly to these parameters.\n`;\n\nconst prompt = new PromptTemplate({\n  template: template,\n  inputVariables: [\"input\", \"chat_history\"], \n});\n\nconst items = this.getInputData();\nconst model = await this.getInputConnectionData('ai_languageModel', 0);\nconst memory = await this.getInputConnectionData('ai_memory', 0);\nmemory.returnMessages = false;\n\nconst chain = new ConversationChain({ llm:model, memory:memory, prompt: prompt, inputKey:\"input\", outputKey:\"output\"});\nconst output = await chain.call({ input: items[0].json.chatInput});\n\nreturn output;\n"
          }
        },
        "inputs": {
          "input": [
            {
              "type": "main",
              "required": true,
              "maxConnections": 1
            },
            {
              "type": "ai_languageModel",
              "required": true,
              "maxConnections": 1
            },
            {
              "type": "ai_memory",
              "required": true,
              "maxConnections": 1
            }
          ]
        },
        "outputs": {
          "output": [
            {
              "type": "main"
            }
          ]
        }
      },
      "retryOnFail": false,
      "typeVersion": 1
    },
    {
      "id": "fe104d19-a24d-48b3-a0ac-7d3923145373",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -260
      ],
      "parameters": {
        "color": 5,
        "width": 420,
        "height": 240,
        "content": "### Setup Instructions  \n1. **Configure Gemini Credentials**: Set up your Google Gemini API key ([Get API key here](https://ai.google.dev/) if needed). Alternatively, you may use other AI provider nodes.  \n2. **Interaction Methods**:  \n   - Test directly in the workflow editor using the \"Chat\" button  \n   - Activate the workflow and access the chat interface via the URL provided by the `When Chat Message Received` node  "
      },
      "typeVersion": 1
    },
    {
      "id": "f166214d-52b7-4118-9b54-0b723a06471a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -220,
        160
      ],
      "parameters": {
        "height": 100,
        "content": "👆 **Interface Settings**\nConfigure chat UI elements (e.g., title) in the `When Chat Message Received` node  "
      },
      "typeVersion": 1
    },
    {
      "id": "da6ca0d6-d2a1-47ff-9ff3-9785d61db9f3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        420
      ],
      "parameters": {
        "width": 200,
        "height": 140,
        "content": "👆 **Model Selection**\nSwap language models through the `language model` input field in `Construct & Execute LLM Prompt`  "
      },
      "typeVersion": 1
    },
    {
      "id": "0b4dd1ac-8767-4590-8c25-36cba73e46b6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        240,
        420
      ],
      "parameters": {
        "width": 200,
        "height": 140,
        "content": "👆 **Memory Control**\nAdjust conversation history length in the `Store Conversation History` node  "
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "executionOrder": "v1",
    "saveManualExecutions": false,
    "saveDataSuccessExecution": "none"
  },
  "versionId": "77cd5f05-f248-442d-86c3-574351179f26",
  "connections": {
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Construct & Execute LLM Prompt",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Store conversation history": {
      "ai_memory": [
        [
          {
            "node": "Construct & Execute LLM Prompt",
            "type": "ai_memory",
            "index": 0
          },
          {
            "node": "When chat message received",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "Construct & Execute LLM Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Construct & Execute LLM Prompt": {
      "main": [
        []
      ],
      "ai_memory": [
        []
      ]
    }
  }
}

Workflow n8n LangChain, Google Gemini : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises technologiques, aux équipes de développement et aux professionnels du marketing digital qui cherchent à intégrer des solutions d'intelligence artificielle dans leurs services. Un niveau technique intermédiaire est recommandé pour une mise en œuvre efficace.

Workflow n8n LangChain, Google Gemini : problème résolu

Ce workflow résout le problème de la lenteur et de l'inefficacité dans les réponses aux demandes des utilisateurs. En automatisant les interactions grâce à un agent AI, les entreprises peuvent réduire le temps passé à gérer les requêtes manuellement, minimiser les erreurs humaines et améliorer la satisfaction client. Les utilisateurs bénéficient d'une assistance rapide et contextuelle, ce qui renforce l'engagement et la fidélisation.

Workflow n8n LangChain, Google Gemini : étapes du workflow

Étape 1 : Le workflow est déclenché par la réception d'un message via le noeud 'When chat message received'.

  • Étape 1 : Le modèle Google Gemini génère une réponse appropriée grâce au noeud 'Google Gemini Chat Model'.
  • Étape 2 : L'historique des conversations est enregistré avec le noeud 'Store conversation history' pour un suivi contextuel.
  • Étape 3 : Des notes autocollantes sont créées pour visualiser les différentes étapes et résultats du processus.
  • Étape 4 : Enfin, le noeud 'Construct & Execute LLM Prompt' permet de peaufiner les réponses avant de les envoyer à l'utilisateur.

Workflow n8n LangChain, Google Gemini : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du noeud 'When chat message received' pour adapter le déclencheur à vos besoins spécifiques. Il est également possible de changer les options du modèle Google Gemini dans le noeud correspondant pour ajuster les réponses générées. Pensez à personnaliser le contenu des notes autocollantes pour refléter les informations pertinentes pour votre équipe. Enfin, vous pouvez intégrer d'autres services ou API en utilisant des noeuds supplémentaires pour enrichir les fonctionnalités de votre agent AI.