Chatbot de LLM basado en RAG

Avanzado

Este es unAI RAG, Multimodal AIflujo de automatización del dominio deautomatización que contiene 17 nodos.Utiliza principalmente nodos como GoogleDrive, Agent, GoogleDriveTrigger, ChatTrigger, LmChatOpenAi. Usar RAG, base de datos de vectores Pinecone y OpenAI para crear un chatbot de políticas de empresa

Requisitos previos
  • Credenciales de API de Google Drive
  • Clave de API de OpenAI
  • Clave de API de Pinecone
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "ijORqghBWmOcVaCd",
  "meta": {
    "instanceId": "87616dfce72ffd690a51f4d408ac3b27a946f12a1119e0e281f5ed271497219e",
    "templateCredsSetupCompleted": true
  },
  "name": "ChatBot For RAG Based LLMs",
  "tags": [],
  "nodes": [
    {
      "id": "93879f6c-0d57-4049-9e42-44d906160eb6",
      "name": "Cuando se recibe un mensaje de chat",
      "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": "Agente de 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 Modelo de Chat",
      "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": "Memoria Simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        20,
        80
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "5bdc6723-18e4-4637-b31e-2b7a722c2d30",
      "name": "Pinecone Almacén Vectorial",
      "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": "Calculadora",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        760,
        -120
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c5130a15-b2fa-4c96-b890-6cda5a5d1e8a",
      "name": "Google Disparador de Drive",
      "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": "Cargador de Datos Predeterminado",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        -1140,
        40
      ],
      "parameters": {
        "loader": "pdfLoader",
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1
    },
    {
      "id": "0ce84124-e903-4b41-a9dc-2b701efbeeaf",
      "name": "Separador de Texto Recursivo por Caracteres",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        -1120,
        220
      ],
      "parameters": {
        "options": {
          "splitCode": "markdown"
        },
        "chunkOverlap": 50
      },
      "typeVersion": 1
    },
    {
      "id": "c6fff7f0-d215-4d25-8e4e-bcd5cc200330",
      "name": "Nota Adhesiva",
      "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": "Nota Adhesiva1",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - RAG de IA, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos17
Categoría2
Tipos de nodos13
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
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.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34