基于Google Drive知识库的网站聊天机器人(GPT-4与Mistral AI)
高级
这是一个Support Chatbot, AI Chatbot领域的自动化工作流,包含 32 个节点。主要使用 If, Set, Code, Wait, Webhook 等节点。 基于Google Drive知识库的网站聊天机器人(GPT-4与Mistral AI)
前置要求
- •HTTP Webhook 端点(n8n 会自动生成)
- •Google Drive API 凭证
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
- •Qdrant 服务器连接信息
使用的节点 (32)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "e4680277d6b9c8b80748f71c2c1d0f9a640576175738ea2675967f762eeaf9df"
},
"nodes": [
{
"id": "671268e2-e7a4-4b30-90ad-e132f8e8afee",
"name": "当收到聊天消息时",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-368,
480
],
"webhookId": "d536879e-1fa5-45f6-b106-25f580ea92f4",
"parameters": {
"mode": "webhook",
"public": true,
"options": {
"responseMode": "lastNode"
}
},
"typeVersion": 1.1
},
{
"id": "fb2d9289-334f-43a1-a305-d40e70e39b97",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
32,
784
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {
"temperature": 0.5,
"presencePenalty": 1,
"frequencyPenalty": 1
}
},
"credentials": {
"openAiApi": {
"id": "BEMsaCWtnyqTUtIt",
"name": "OpenAi account 8 dbt digi"
}
},
"typeVersion": 1.2
},
{
"id": "94cb5658-5ec0-47ac-8192-9793189937a8",
"name": "简单记忆",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
256,
784
],
"parameters": {
"sessionIdType": "customKey",
"contextWindowLength": 10
},
"typeVersion": 1.3
},
{
"id": "f7408b4e-025e-4a43-9c76-3b157537d43d",
"name": "遍历项目 1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-880,
1328
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "c7807b4e-eed0-42c1-a066-74c12215ec57",
"name": "等待",
"type": "n8n-nodes-base.wait",
"position": [
752,
1552
],
"webhookId": "29a6451b-8a53-4598-b4fe-e11241eb51ab",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "bab90cc7-5a3c-426d-8c84-c813bf037e76",
"name": "默认数据加载器",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
1296,
1584
],
"parameters": {
"options": {
"metadata": {
"metadataValues": [
{
"name": "source",
"value": "={{ $json.content.parseJson().metadata.source }}"
},
{
"name": "blobType",
"value": "application/jsonb"
},
{
"name": "loc",
"value": "={{ $json.content.parseJson().metadata.loc }}"
},
{
"name": "source_metadata_id",
"value": "={{ $json.content.parseJson().metadata.source_metadata_id }}"
}
]
}
},
"jsonData": "={{ $json.content.parseJson().pageContent.toJsonString() }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "5349c366-6b07-4838-824e-b0192070de44",
"name": "字符文本分割器",
"type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
"position": [
1376,
1744
],
"parameters": {
"chunkSize": 10000000
},
"typeVersion": 1
},
{
"id": "53158770-6435-4615-8c52-9499004d365f",
"name": "If2",
"type": "n8n-nodes-base.if",
"position": [
640,
1328
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "d15e917b-43d2-40b8-8b49-af467ff63961",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.data[0].parseJson().skipped }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "9a5aa2c1-de3b-43b3-941d-eac3a9aa01c2",
"name": "Qdrant 向量存储1",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
1344,
1312
],
"parameters": {
"mode": "insert",
"options": {},
"qdrantCollection": {
"__rl": true,
"mode": "list",
"value": "docragtestkb",
"cachedResultName": "docragtestkb"
},
"embeddingBatchSize": "=200"
},
"credentials": {
"qdrantApi": {
"id": "hBirQvCk1VaV8cfQ",
"name": "QdrantApi account"
}
},
"typeVersion": 1.1
},
{
"id": "7994799d-0f57-454f-ae5f-6d0bfc78973a",
"name": "嵌入 Mistral Cloud",
"type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
"position": [
1136,
1600
],
"parameters": {
"options": {}
},
"credentials": {
"mistralCloudApi": {
"id": "k9FknrnRcIKYNX7T",
"name": "Mistral Cloud account 2 dbt rn"
}
},
"typeVersion": 1
},
{
"id": "c2595c65-fbff-45db-a179-d6bdbde1ea01",
"name": "Qdrant 向量存储",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
544,
656
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"toolDescription": "use this data answer query",
"qdrantCollection": {
"__rl": true,
"mode": "list",
"value": "docragtestkb",
"cachedResultName": "docragtestkb"
}
},
"credentials": {
"qdrantApi": {
"id": "4NinNhNX7VxfgZxs",
"name": "QdrantApi account 2"
}
},
"typeVersion": 1.3
},
{
"id": "e3617329-c6a9-4616-8f57-a571a4170ebe",
"name": "嵌入 Mistral Cloud1",
"type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
"position": [
464,
784
],
"parameters": {
"options": {}
},
"credentials": {
"mistralCloudApi": {
"id": "k9FknrnRcIKYNX7T",
"name": "Mistral Cloud account 2 dbt rn"
}
},
"typeVersion": 1
},
{
"id": "950091b1-c765-42ee-b0e8-d715fcefa8f3",
"name": "当点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1264,
1328
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a49b8efb-07bb-43ec-9fed-a5ed5b12a944",
"name": "设置元数据",
"type": "n8n-nodes-base.set",
"position": [
-656,
1344
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "10646eae-ae46-4327-a4dc-9987c2d76173",
"name": "file_id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "f4536df5-d0b1-4392-bf17-b8137fb31a44",
"name": "file_type",
"type": "string",
"value": "={{ $json.mimeType }}"
},
{
"id": "77d782de-169d-4a46-8a8e-a3831c04d90f",
"name": "file_title",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "9bde4d7f-e4f3-4ebd-9338-dce1350f9eab",
"name": "file_url",
"type": "string",
"value": "={{ $json.webViewLink }}"
},
{
"id": "fae402c8-c486-4b57-8d28-bf669db6b442",
"name": "last_modified_date",
"type": "string",
"value": "={{ $json.modifiedTime }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "6451f612-f4db-49a7-8f83-436ed9025882",
"name": "Mistral上传",
"type": "n8n-nodes-base.httpRequest",
"position": [
-96,
1344
],
"parameters": {
"url": "https://api.mistral.ai/v1/files",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "purpose",
"value": "ocr"
},
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"nodeCredentialType": "mistralCloudApi"
},
"credentials": {
"mistralCloudApi": {
"id": "k9FknrnRcIKYNX7T",
"name": "Mistral Cloud account 2 dbt rn"
}
},
"typeVersion": 4.2
},
{
"id": "26913424-307f-435e-a6ee-ea4d217e11b7",
"name": "Mistral签名URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
144,
1344
],
"parameters": {
"url": "=https://api.mistral.ai/v1/files/{{ $json.id }}/url",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "expiry",
"value": "24"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
}
]
},
"nodeCredentialType": "mistralCloudApi"
},
"credentials": {
"mistralCloudApi": {
"id": "k9FknrnRcIKYNX7T",
"name": "Mistral Cloud account 2 dbt rn"
}
},
"typeVersion": 4.2
},
{
"id": "b4d90372-a7d5-42e2-b9f3-21687fba59eb",
"name": "Mistral文档OCR",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
400,
1344
],
"parameters": {
"url": "https://api.mistral.ai/v1/ocr",
"method": "POST",
"options": {},
"jsonBody": "={\n \"model\": \"mistral-ocr-latest\",\n \"document\": {\n \"type\": \"document_url\",\n \"document_url\": \"{{ $json.url }}\"\n },\n \"include_image_base64\": true\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "mistralCloudApi"
},
"credentials": {
"mistralCloudApi": {
"id": "k9FknrnRcIKYNX7T",
"name": "Mistral Cloud account 2 dbt rn"
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "664b3731-0da6-4dfa-b3d5-d05edff8fb70",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
1200
],
"parameters": {
"color": 5,
"width": 688,
"height": 304,
"content": "## MISTRAL OCR"
},
"typeVersion": 1
},
{
"id": "64cef90f-5a5f-4e09-856f-fc66d1b58b7f",
"name": "Google Drive(聊天机器人相关品牌数据)",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1056,
1328
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "list",
"value": "1o3DK9Ceka5Lqb8irvFSfEeB8SVGG_OL7",
"cachedResultUrl": "https://drive.google.com/drive/folders/1o3DK9Ceka5Lqb8irvFSfEeB8SVGG_OL7",
"cachedResultName": "Website kb"
}
},
"options": {
"fields": [
"id",
"name",
"webViewLink",
"mimeType",
"*"
]
},
"resource": "fileFolder",
"searchMethod": "query"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "xS6kSuLaEkasxHtm",
"name": "Google Drive account 6 rn dbt"
}
},
"typeVersion": 3
},
{
"id": "3168eaff-b21c-4ff8-81f1-7c4b8605e66b",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
1200
],
"parameters": {
"color": 5,
"height": 288,
"content": "## 加载网站聊天机器人所需的所有文件夹"
},
"typeVersion": 1
},
{
"id": "99e919d1-5a9c-436b-af53-245a29f35377",
"name": "Google Drive(加载文件)",
"type": "n8n-nodes-base.googleDrive",
"position": [
-464,
1344
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Set metadata').item.json.file_id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "xS6kSuLaEkasxHtm",
"name": "Google Drive account 6 rn dbt"
}
},
"typeVersion": 3
},
{
"id": "73883e55-221d-4a58-bfad-a93fb4e9c16c",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-544,
1216
],
"parameters": {
"color": 5,
"width": 320,
"height": 272,
"content": "## 加载单个文件"
},
"typeVersion": 1
},
{
"id": "2c3716a9-3731-4a29-913c-a0b20db6e767",
"name": "代码(转换为块以加载到向量数据库)",
"type": "n8n-nodes-base.code",
"position": [
1136,
1312
],
"parameters": {
"jsCode": "// 0. Parse the incoming Document data\nlet raw = $input.first().json['Document data'];\nlet arr = typeof raw === 'string' ? JSON.parse(raw) : raw;\n\n// If document name exists, use it — else fallback\nlet source = $input.first().json['Document name'] || 'unknown_source';\n\n// If your workflow previously had a reference like $('Insert Document Metadata1')\n// and it caused an \"unexecuted\" error, we replace it with a safe null or fetch from input\nlet source_id = $input.first().json['source_metadata_id'] || $input.first().json['source'] || $input.first().json[' source'] || null;\n\n// Helper: return character length of an array object\nfunction getObjLength(obj) {\n return (obj.content || '').length;\n}\n\nfunction getObjLengthofTextOnly(obj) {\n // Ignore OCR images for character count\n if (obj.type === 'image_ocr') return 0;\n return (obj.content || '').length;\n}\n\n// Split any single item whose content is > chunkSize into multiple items\nfunction splitOversizedItems(arr, chunkSize) {\n const result = [];\n for (const item of arr) {\n const content = item.content || '';\n if (content.length <= chunkSize) {\n result.push(item);\n } else {\n for (let start = 0; start < content.length; start += chunkSize) {\n const part = content.slice(start, start + chunkSize);\n result.push({ ...item, content: part });\n }\n }\n }\n return result;\n}\n\n// Chunking function\nfunction chunkByCharLength(arr, source, chunkSize = 1000) {\n const flat = splitOversizedItems(arr, chunkSize);\n const response = [];\n let idx = 0;\n let charPos = 0;\n\n while (idx < flat.length) {\n const a = [];\n let sum = 0;\n const from = charPos;\n\n while (idx < flat.length && sum < chunkSize) {\n const item = flat[idx];\n const len = getObjLength(item);\n const text_len = getObjLengthofTextOnly(item);\n a.push(item);\n sum += len;\n charPos += text_len;\n idx++;\n }\n\n const to = charPos;\n const metadata = {\n source: source,\n source_metadata_id: source_id,\n loc: { Characters: { from, to } }\n };\n\n response.push({\n content: JSON.stringify({\n pageContent: a,\n metadata\n })\n });\n }\n return response;\n}\n\n// 1. Run chunking\nconst chunks = chunkByCharLength(arr, source, 1000);\n\n// 2. Return in n8n-compatible format\nreturn chunks.map(c => ({ json: c }));\n"
},
"typeVersion": 2
},
{
"id": "8648ab70-4909-401c-896e-7598eb0dd2ed",
"name": "准备分块",
"type": "n8n-nodes-base.set",
"position": [
944,
1312
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5132d92c-41da-4a55-ad79-0c329ca7e626",
"name": "Document name",
"type": "string",
"value": "={{ $('HTTP Request2').item.json.data[0].parseJson().source }}"
},
{
"id": "c8160701-2be7-43c6-bcfa-295fbebe0e23",
"name": "Document data",
"type": "string",
"value": "={{ $('HTTP Request2').item.json.data[0].parseJson().blocks }}"
},
{
"id": "1087ab34-5643-4755-b545-cf34d0ae2cd2",
"name": " source",
"type": "string",
"value": "={{ $('Google Drive(load file)').item.json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a028ac1b-6827-4255-bfc2-8060c77d889e",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
848,
1200
],
"parameters": {
"color": 5,
"width": 416,
"height": 272,
"content": "## 将OCR输出转换为块以加载到向量数据库"
},
"typeVersion": 1
},
{
"id": "c87dbc3d-1623-442b-a122-bf4d3a49a821",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1296,
1200
],
"parameters": {
"color": 5,
"width": 336,
"height": 272,
"content": "## qdrant向量存储"
},
"typeVersion": 1
},
{
"id": "e1dcae50-2af5-42e2-89f2-3ccd8ebab25e",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-368,
720
],
"webhookId": "75458eba-ed7b-491d-9fcf-aa8f7440aab8",
"parameters": {
"path": "75458eba-ed7b-491d-9fcf-aa8f7440aab8",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "5f5aeada-4156-4212-8069-f36e5cec577b",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
400
],
"parameters": {
"color": 5,
"width": 800,
"height": 512,
"content": "## 网站聊天代理"
},
"typeVersion": 1
},
{
"id": "659a7802-35ab-4e3d-a436-373e9e54767d",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
640
],
"parameters": {
"color": 5,
"width": 288,
"height": 240,
"content": "## 来自webhook的聊天机器人"
},
"typeVersion": 1
},
{
"id": "891e023c-5823-4afd-8319-5a1e6b287890",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-448,
384
],
"parameters": {
"color": 5,
"width": 288,
"height": 240,
"content": "## 嵌入式聊天"
},
"typeVersion": 1
},
{
"id": "e1ef6116-da64-4c7f-aced-475fc182bf03",
"name": "网站聊天代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
240,
528
],
"parameters": {
"text": "={{ $json.que }}",
"options": {
"systemMessage": "=You are the official AI assistant for this website. \nYour role is to inform and guide visitors about the brand’s offerings, services, and value. \nYour ONLY knowledge source is the supabase table \"chatdbtai\". \n\nRules:\n1. Always use vector search on \"chatdbtai\". Base all answers only on that content.\n2. Speak in a clear, friendly, and conversational tone — like a website guide helping a visitor understand the brand.\n3. When asked “what does DBT offer” or “AI services,” explain the different offerings in a structured way:\n - Summarize in 1–2 sentences.\n - Then list the services / offerings as **bullet points** or **bold keywords**.\n - Focus on benefits (what the visitor gains).\n4. If the user asks about a blog, share a direct clickable link from \"chatdbtai\".\n5. If the user provides a URL:\n - If it exists in \"chatdbtai\", answer from that record.\n - If not, summarize the page briefly.\n6. If nothing relevant is found, reply exactly:\n “I couldn’t find that on this site.”\n7. If the question is unrelated to the website, give a short conversational reply, then guide the visitor back to brand services if possible.\n8. Never show database details, queries, or hidden fields.\n\nStyle:\n- Use short, engaging sentences.\n- Highlight brand strengths and services clearly.\n- Prefer **lists** for multiple offerings.\n- Keep it visitor-focused: how DBT helps them.\n\n\n"
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "21ecc7c5-7c25-4f5f-8aec-7d437d66e7c8",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1552,
672
],
"parameters": {
"color": 5,
"width": 576,
"height": 336,
"content": "## 网站聊天 + 文档智能工作流"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"If2": {
"main": [
[
{
"node": "prepare for chunking",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Google Drive(load file)",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "website chat agent",
"type": "main",
"index": 0
}
]
]
},
"Set metadata": {
"main": [
[
{
"node": "Google Drive(load file)",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "website chat agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Mistral Upload": {
"main": [
[
{
"node": "Mistral Signed URL",
"type": "main",
"index": 0
}
]
]
},
"Mistral DOC OCR": {
"main": [
[
{
"node": "If2",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[],
[
{
"node": "Set metadata",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "website chat agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Mistral Signed URL": {
"main": [
[
{
"node": "Mistral DOC OCR",
"type": "main",
"index": 0
}
]
]
},
"Default Data Loader": {
"ai_document": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_document",
"index": 0
}
]
]
},
"Qdrant Vector Store": {
"ai_tool": [
[
{
"node": "website chat agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Qdrant Vector Store1": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"prepare for chunking": {
"main": [
[
{
"node": "Code(convert to chunks for loading into vector db)",
"type": "main",
"index": 0
}
]
]
},
"Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"Google Drive(load file)": {
"main": [
[
{
"node": "Mistral Upload",
"type": "main",
"index": 0
}
]
]
},
"Embeddings Mistral Cloud": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store1",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Embeddings Mistral Cloud1": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "website chat agent",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Google Drive(brand related data for chatbot)",
"type": "main",
"index": 0
}
]
]
},
"Google Drive(brand related data for chatbot)": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Code(convert to chunks for loading into vector db)": {
"main": [
[
{
"node": "Qdrant Vector Store1",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 客服机器人, AI 聊天机器人
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
文档 RAG 和聊天代理:Google Drive 到 Qdrant 与 Mistral OCR
文档 RAG 和聊天代理:Google Drive 到 Qdrant 与 Mistral OCR
If
Set
Code
+16
40 节点DIGITAL BIZ TECH
内部知识库
AI智能助手:与Supabase存储和Google Drive文件对话
AI智能助手:与Supabase存储和Google Drive文件对话
If
Set
Wait
+20
62 节点Mark Shcherbakov
工程
我的智能体竞技场社区竞赛
使用Qdrant、Mistral OCR和GPT-4构建基于RAG的问答系统
Set
Code
Wait
+19
41 节点Davide
内容创作
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
🤖 面向您的文档+Google Drive+Gemini+Qdrant的AI驱动RAG聊天机器人
🤖 面向您的文档+Google Drive+Gemini+Qdrant的AI驱动RAG聊天机器人
If
Set
Wait
+21
50 节点Joseph LePage
人工智能
AIAutomationPro终极RAG聊天机器人v1 n8n市场模板
多语言Telegram RAG聊天机器人,集成监督AI和自动化Google Drive流程
If
Set
Wait
+29
128 节点Daniel Ng
客服机器人
工作流信息
难度等级
高级
节点数量32
分类2
节点类型18
作者
DIGITAL BIZ TECH
@dbtDigital Biz Tech empowers organizations to unlock their knowledge and creativity with AI. From zero-retention assistants that deliver secure, source-linked answers to intelligent content engines that generate and schedule on-brand campaigns, we transform how teams access, create, and act on information. 📩 For consulting or collaborations, contact shilpa.raaju@digitalbiz.tech
外部链接
在 n8n.io 查看 →
分享此工作流