Assistant de site web dynamique avec DeepSeek AI, base de vecteurs Pinecone et routage basé sur le site
Ceci est unSupport Chatbot, AI RAGworkflow d'automatisation du domainecontenant 33 nœuds.Utilise principalement des nœuds comme Switch, Webhook, Agent, RespondToWebhook, EmbeddingsCohere. Assistant de site web dynamique avec routage basé sur le site, intégrant DeepSeek AI, Pinecone vector database
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Informations de connexion à la base de données PostgreSQL
- •Clé API Pinecone
Nœuds utilisés (33)
Catégorie
{
"meta": {
"instanceId": "10695d6c896719a133e4565c83ff18ae1c33cae9d0ca63f232efd9b2ddd0b904"
},
"nodes": [
{
"id": "97996cba-36f9-455e-b02d-c054c9e82f38",
"name": "Mémoire de chat Postgres",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
-980,
2440
],
"parameters": {
"tableName": "n8n_chat_histories_test_3",
"sessionKey": "={{ $('Webhook').item.json.query.userId }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "22GVfrWGc7ERSw5X",
"name": "Postgres account"
}
},
"typeVersion": 1.3
},
{
"id": "5ae9982c-055e-421a-a47e-320a90f43249",
"name": "Modèle de chat OpenRouter",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-1100,
2440
],
"parameters": {
"model": "deepseek/deepseek-chat-v3-0324:free",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "ryoz2T1DqlynMwW5",
"name": "shahzaib-N"
}
},
"typeVersion": 1
},
{
"id": "208cfefe-77c5-4762-a61c-4dcd31c2e741",
"name": "Pinecone Vector Store5",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-860,
2440
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "Service_Packages_Overview"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "asjdnkjanfkjadnfkan;"
},
"toolDescription": "vector store for: Service Packages Overview"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "cbd466c8-1170-4b1a-83c3-5a61ad5ff34a",
"name": "Embeddings Cohere",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
-780,
2640
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "295ee1d6-1083-4ab0-ae19-608504a78ca9",
"name": "Pinecone Vector Store6",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-580,
2440
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "services"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "askclnalkdnclkdsnckj"
},
"toolDescription": "vector store for: services"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "38ff953c-e660-4486-9b6b-754b58ad758c",
"name": "Embeddings Cohere6",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
-500,
2640
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "2b6ed992-91ce-4d77-8a2c-c452b3ede109",
"name": "Pinecone Vector Store7",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-300,
2440
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {
"pineconeNamespace": "terms_of_use"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "adlkfncldkanv;kjhv"
},
"toolDescription": "vector store for: terms of use"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "fe4fe472-0e5d-4af2-a28d-91c6aab1b1a6",
"name": "Embeddings Cohere7",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
-220,
2640
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "69a71207-a8e3-4b5f-a0ee-fb4873f5bccb",
"name": "Pinecone Vector Store9",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-20,
2440
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "Privacy_Policy"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "lknljoglhgiuyouih"
},
"toolDescription": "vector store for: Privacy Policy"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "525c394f-d6a7-407a-b8f9-b2a8b820e4d4",
"name": "Embeddings Cohere9",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
60,
2640
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "aba9feb6-827f-4cd4-bb11-19af16978f77",
"name": "Pinecone Vector Store10",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
260,
2440
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "refund_policy"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "jansckja;scjkadnpkfpioghpf:mv"
},
"toolDescription": "vector store for: refund policy"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "9201e8ed-0f3c-472c-9ffe-6c5e2179cbb6",
"name": "Embeddings Cohere10",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
340,
2640
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "d25920de-37ba-45b2-ba62-c83a5eeb8bc2",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1700,
1260
],
"webhookId": "f22b5848-6722-45fb-ba0c-b874f5813b5c",
"parameters": {
"path": "f22b5848-6722-45fb-ba0c-b874f5813b5c",
"options": {},
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "2e8dee88-b656-4790-8db1-ec5b52aff867",
"name": "Répondre à Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
620,
2220
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={{ { \"answer\": $json.output } }}"
},
"typeVersion": 1.4
},
{
"id": "d0bda629-f093-4fe3-84ad-7dbdd4d45aba",
"name": "Commutateur",
"type": "n8n-nodes-base.switch",
"position": [
-1240,
1260
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "46166ed8-0317-4827-bac9-ae10f04a6218",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.query.site }}",
"rightValue": "test_site"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "719a0de5-0614-443d-aa51-b9ef46ce337d",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.query.site }}",
"rightValue": "test_site2"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "35ab59a1-e2c2-4e67-ad0f-535e1749e6a0",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.query.site }}",
"rightValue": "test_site3"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "34822c85-60bf-4dba-8a6b-a770a48d4c46",
"name": "Mémoire de chat Postgres1",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
-340,
680
],
"parameters": {
"tableName": "n8n_chat_histories_test_1",
"sessionKey": "={{ $('Webhook').item.json.query.userId }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "22GVfrWGc7ERSw5X",
"name": "Postgres account"
}
},
"typeVersion": 1.3
},
{
"id": "d2cd2051-13c5-46d5-8ecd-c68c77489882",
"name": "Modèle de chat OpenRouter1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-460,
680
],
"parameters": {
"model": "deepseek/deepseek-chat-v3-0324:free",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "PlemUHT1rnkQIP6x",
"name": "api-2"
}
},
"typeVersion": 1
},
{
"id": "45a7d772-1480-4cd0-b254-40c8c440223b",
"name": "Pinecone Vector Store8",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-220,
700
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "ghost_wr"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "amfdnadifakdlncacadf"
},
"toolDescription": "vector store for: Service Packages Overview"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "936e564c-a4af-4a45-b537-5b361af8d0e7",
"name": "Embeddings Cohere8",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
-140,
880
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "9ea078f3-48a9-4811-ba34-1f89430e7889",
"name": "Répondre à Webhook1",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
700,
660
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={{ { \"answer\": $json.output } }}"
},
"typeVersion": 1.4
},
{
"id": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"name": "Agent IA pour groton",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-580,
2220
],
"parameters": {
"text": "={{ $('Webhook').item.json.query.query }}",
"options": {
"systemMessage": "=🧑💼 System Prompt: Max — Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site 2?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
"returnIntermediateSteps": false
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "74fbb2ac-dad5-4294-967a-501b32854f79",
"name": "Agent IA1 ghostwritingpartner",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-420,
460
],
"parameters": {
"text": "={{ $('Webhook').item.json.query.query }}",
"options": {
"systemMessage": "=🧑💼 System Prompt: Max — Test Site Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
"returnIntermediateSteps": false
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "cb9e515f-1781-423a-a184-27be2517e312",
"name": "Mémoire de chat Postgres2",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
-300,
1740
],
"parameters": {
"tableName": "n8n_chat_histories_test_2",
"sessionKey": "={{ $('Webhook').item.json.query.userId }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "22GVfrWGc7ERSw5X",
"name": "Postgres account"
}
},
"typeVersion": 1.3
},
{
"id": "a0a2092b-48fc-4926-956a-088c18f2b220",
"name": "Modèle de chat OpenRouter2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-420,
1740
],
"parameters": {
"model": "deepseek/deepseek-chat-v3-0324:free",
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "O16KUlJBPximP3Xr",
"name": "api-1"
}
},
"typeVersion": 1
},
{
"id": "83930ae9-cddb-4fcc-9138-7714395d8d07",
"name": "Pinecone Vector Store11",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-180,
1740
],
"parameters": {
"mode": "retrieve-as-tool",
"topK": 6,
"options": {
"pineconeNamespace": "ebook_wr"
},
"pineconeIndex": {
"__rl": true,
"mode": "id",
"value": "adlmcdalkndanfca"
},
"toolDescription": "vector store for: Service Packages Overview"
},
"credentials": {
"pineconeApi": {
"id": "9tbw5SFHSJUFSD9o",
"name": "PineconeApi account"
}
},
"typeVersion": 1.3
},
{
"id": "b847ae7b-7ca9-4641-9768-dbe834f837c8",
"name": "Embeddings Cohere11",
"type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
"position": [
-100,
1940
],
"parameters": {},
"credentials": {
"cohereApi": {
"id": "qvaYjXr0djdpaMEQ",
"name": "CohereApi account"
}
},
"typeVersion": 1
},
{
"id": "51d4651e-2dfd-4839-8ca8-2774c8e4cee0",
"name": "Répondre à Webhook2",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
740,
1720
],
"parameters": {
"options": {},
"respondWith": "json",
"responseBody": "={{ { \"answer\": $json.output } }}"
},
"typeVersion": 1.4
},
{
"id": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
"name": "Agent IA ebook-wr",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-380,
1520
],
"parameters": {
"text": "={{ $('Webhook').item.json.query.query }}",
"options": {
"systemMessage": "=🧑💼 System Prompt: Max — Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site 2?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
"returnIntermediateSteps": false
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "5a9f31eb-64be-4ec5-88cb-6659b8f0c0a4",
"name": "Note autocollante",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1760,
1200
],
"parameters": {
"height": 220,
"content": "## accepts user input"
},
"typeVersion": 1
},
{
"id": "e1eb851e-63f7-4f88-9891-232e99e9e9b7",
"name": "Note autocollante1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1320,
1160
],
"parameters": {
"height": 260,
"content": "## switch to specific agent according to site"
},
"typeVersion": 1
},
{
"id": "7815d1ed-9ee8-4759-9852-cf83dcfcf2ae",
"name": "Note autocollante2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
220
],
"parameters": {
"width": 660,
"height": 800,
"content": "## 🧠 **AI Agent**\n\nThis node processes the user’s query using:\n- llm from openrouter\n- Pinecone vector search for context-aware answers\n- SQL memory to maintain user-specific context\n- Custom system prompt based on `site` and `page` input values\n\n👉 Dynamically tailors responses per incoming website/page.\n"
},
"typeVersion": 1
},
{
"id": "ea7cf4f1-43c6-477f-b97a-6ffbd1344c1c",
"name": "Note autocollante3",
"type": "n8n-nodes-base.stickyNote",
"position": [
580,
560
],
"parameters": {
"width": 340,
"height": 260,
"content": "### sends response back to chat"
},
"typeVersion": 1
},
{
"id": "eec68593-92f4-4065-9481-dc63aca01156",
"name": "Note autocollante4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1200,
1500
],
"parameters": {
"width": 2180,
"height": 1540,
"content": "## same goes for remaining agents as above"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d0bda629-f093-4fe3-84ad-7dbdd4d45aba": {
"main": [
[
{
"node": "74fbb2ac-dad5-4294-967a-501b32854f79",
"type": "main",
"index": 0
}
],
[
{
"node": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
"type": "main",
"index": 0
}
],
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "main",
"index": 0
}
]
]
},
"d25920de-37ba-45b2-ba62-c83a5eeb8bc2": {
"main": [
[
{
"node": "d0bda629-f093-4fe3-84ad-7dbdd4d45aba",
"type": "main",
"index": 0
}
]
]
},
"62918bc7-7168-40ae-abfa-9dbea1e90d50": {
"main": [
[
{
"node": "51d4651e-2dfd-4839-8ca8-2774c8e4cee0",
"type": "main",
"index": 0
}
]
]
},
"cbd466c8-1170-4b1a-83c3-5a61ad5ff34a": {
"ai_embedding": [
[
{
"node": "208cfefe-77c5-4762-a61c-4dcd31c2e741",
"type": "ai_embedding",
"index": 0
}
]
]
},
"38ff953c-e660-4486-9b6b-754b58ad758c": {
"ai_embedding": [
[
{
"node": "295ee1d6-1083-4ab0-ae19-608504a78ca9",
"type": "ai_embedding",
"index": 0
}
]
]
},
"fe4fe472-0e5d-4af2-a28d-91c6aab1b1a6": {
"ai_embedding": [
[
{
"node": "2b6ed992-91ce-4d77-8a2c-c452b3ede109",
"type": "ai_embedding",
"index": 0
}
]
]
},
"936e564c-a4af-4a45-b537-5b361af8d0e7": {
"ai_embedding": [
[
{
"node": "45a7d772-1480-4cd0-b254-40c8c440223b",
"type": "ai_embedding",
"index": 0
}
]
]
},
"525c394f-d6a7-407a-b8f9-b2a8b820e4d4": {
"ai_embedding": [
[
{
"node": "69a71207-a8e3-4b5f-a0ee-fb4873f5bccb",
"type": "ai_embedding",
"index": 0
}
]
]
},
"2836fd6c-c51b-4102-9e9a-35b90ce16c00": {
"main": [
[
{
"node": "2e8dee88-b656-4790-8db1-ec5b52aff867",
"type": "main",
"index": 0
}
]
]
},
"9201e8ed-0f3c-472c-9ffe-6c5e2179cbb6": {
"ai_embedding": [
[
{
"node": "aba9feb6-827f-4cd4-bb11-19af16978f77",
"type": "ai_embedding",
"index": 0
}
]
]
},
"b847ae7b-7ca9-4641-9768-dbe834f837c8": {
"ai_embedding": [
[
{
"node": "83930ae9-cddb-4fcc-9138-7714395d8d07",
"type": "ai_embedding",
"index": 0
}
]
]
},
"97996cba-36f9-455e-b02d-c054c9e82f38": {
"ai_memory": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_memory",
"index": 0
}
]
]
},
"5ae9982c-055e-421a-a47e-320a90f43249": {
"ai_languageModel": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"34822c85-60bf-4dba-8a6b-a770a48d4c46": {
"ai_memory": [
[
{
"node": "74fbb2ac-dad5-4294-967a-501b32854f79",
"type": "ai_memory",
"index": 0
}
]
]
},
"cb9e515f-1781-423a-a184-27be2517e312": {
"ai_memory": [
[
{
"node": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
"type": "ai_memory",
"index": 0
}
]
]
},
"d2cd2051-13c5-46d5-8ecd-c68c77489882": {
"ai_languageModel": [
[
{
"node": "74fbb2ac-dad5-4294-967a-501b32854f79",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"a0a2092b-48fc-4926-956a-088c18f2b220": {
"ai_languageModel": [
[
{
"node": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"208cfefe-77c5-4762-a61c-4dcd31c2e741": {
"ai_tool": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_tool",
"index": 0
}
]
]
},
"295ee1d6-1083-4ab0-ae19-608504a78ca9": {
"ai_tool": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_tool",
"index": 0
}
]
]
},
"2b6ed992-91ce-4d77-8a2c-c452b3ede109": {
"ai_tool": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_tool",
"index": 0
}
]
]
},
"45a7d772-1480-4cd0-b254-40c8c440223b": {
"ai_tool": [
[
{
"node": "74fbb2ac-dad5-4294-967a-501b32854f79",
"type": "ai_tool",
"index": 0
}
]
]
},
"69a71207-a8e3-4b5f-a0ee-fb4873f5bccb": {
"ai_tool": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_tool",
"index": 0
}
]
]
},
"aba9feb6-827f-4cd4-bb11-19af16978f77": {
"ai_tool": [
[
{
"node": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
"type": "ai_tool",
"index": 0
}
]
]
},
"83930ae9-cddb-4fcc-9138-7714395d8d07": {
"ai_tool": [
[
{
"node": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
"type": "ai_tool",
"index": 0
}
]
]
},
"74fbb2ac-dad5-4294-967a-501b32854f79": {
"main": [
[
{
"node": "9ea078f3-48a9-4811-ba34-1f89430e7889",
"type": "main",
"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é - Chatbot de support, RAG IA
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
moosa
@moosaPartager ce workflow