内部ドキュメントチャット
上級
これはInternal Wiki, AI RAG分野の自動化ワークフローで、29個のノードを含みます。主にSet, Switch, Webhook, Supabase, Aggregateなどのノードを使用。 Ollama、Supabaseベクトルデータベース、Google Driveを使って内部ドキュメントと対話
前提条件
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •Supabase URL と API Key
- •Google Drive API認証情報
- •PostgreSQLデータベース接続情報
使用ノード (29)
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "pfmUDAfMnmwHPCSC",
"meta": {
"instanceId": "558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a",
"templateCredsSetupCompleted": true
},
"name": "Chat-internal-documents",
"tags": [],
"nodes": [
{
"id": "5499112e-c417-4a13-9d3f-6e1aa16ee8cd",
"name": "Default Data Loader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
840,
840
],
"parameters": {
"options": {
"metadata": {
"metadataValues": [
{
"name": "=file_id",
"value": "={{ $('Set File ID').first().json.file_id }}"
}
]
}
},
"jsonData": "={{ $json.data || $json.text || $json.concatenated_data }}",
"jsonMode": "expressionData"
},
"typeVersion": 1
},
{
"id": "b780ee44-6928-4382-96d9-52d015e97fc2",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
60
],
"parameters": {
"color": 4,
"width": 583,
"height": 489,
"content": "## Agent Tools for RAG"
},
"typeVersion": 1
},
{
"id": "733c038e-5315-490f-a8f1-449aae7aa7b1",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1240,
580
],
"parameters": {
"color": 5,
"width": 2353,
"height": 627,
"content": "## Tool to Add a Google Drive File to Vector DB"
},
"typeVersion": 1
},
{
"id": "f4f6830e-e057-4817-99b6-cd1a24ef85af",
"name": "ファイルをダウンロード",
"type": "n8n-nodes-base.googleDrive",
"position": [
-400,
800
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Set File ID').item.json.file_id }}"
},
"options": {
"googleFileConversion": {
"conversion": {
"docsToFormat": "text/plain"
}
}
},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "",
"name": "Google Drive account"
}
},
"executeOnce": true,
"typeVersion": 3
},
{
"id": "d6053181-12df-4ee9-98fc-5263c44cb828",
"name": "ファイル作成時",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-1160,
700
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1kxxE-cSJYZA1EwRohcgNL2PNFZDzAyhw",
"cachedResultUrl": "",
"cachedResultName": "test-folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "0ed25822-27c2-4ae3-9ec9-ff0eaeec1938",
"name": "ファイル更新時",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-1160,
920
],
"parameters": {
"event": "fileUpdated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1kxxE-cSJYZA1EwRohcgNL2PNFZDzAyhw",
"cachedResultUrl": "",
"cachedResultName": "test-folder"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "70d053ec-b880-489c-8c20-261f0a4c148c",
"name": "ドキュメントテキスト抽出",
"type": "n8n-nodes-base.extractFromFile",
"position": [
360,
1000
],
"parameters": {
"options": {},
"operation": "text"
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "cb9d4b81-c74f-44e5-9cb5-f55133b737d5",
"name": "Postgres Chat Memory",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
-480,
360
],
"parameters": {},
"credentials": {
"postgres": {
"id": "",
"name": "Postgres account"
}
},
"notesInFlow": false,
"typeVersion": 1
},
{
"id": "fff92d07-0a2c-40ff-a073-b2e17d4695a3",
"name": "古いドキュメント行を削除",
"type": "n8n-nodes-base.supabase",
"position": [
-640,
800
],
"parameters": {
"tableId": "documents",
"operation": "delete",
"filterType": "string",
"filterString": "=metadata->>file_id=like.*{{ $json.file_id }}*"
},
"credentials": {
"supabaseApi": {
"id": "",
"name": "Supabase account"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "e5ca30cc-ea70-42b1-bdce-b110a922765b",
"name": "ファイルIDを設定",
"type": "n8n-nodes-base.set",
"position": [
-880,
800
],
"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 }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "02fbed8f-592d-4380-b9b4-f129cbc052d5",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1040,
60
],
"parameters": {
"width": 1036,
"height": 485,
"content": "## RAG AI Agent with Chat Interface"
},
"typeVersion": 1
},
{
"id": "33ffec5d-1c87-42df-91a9-87f29fda4d24",
"name": "Webhook への応答",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
-180,
140
],
"parameters": {
"options": {},
"respondWith": "allIncomingItems"
},
"typeVersion": 1.1
},
{
"id": "c7cf92ba-d3b7-401f-be57-1f2ad1452fad",
"name": "フィールド編集",
"type": "n8n-nodes-base.set",
"position": [
-740,
140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9a9a245e-f1a1-4282-bb02-a81ffe629f0f",
"name": "chatInput",
"type": "string",
"value": "={{ $json?.chatInput || $json.body.chatInput || $json.body.message }}"
},
{
"id": "b80831d8-c653-4203-8706-adedfdb98f77",
"name": "sessionId",
"type": "string",
"value": "={{ $json?.sessionId || $json.body.sessionId}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "28af4afe-bb57-41cf-97cd-5f5bf244ced2",
"name": "チャットメッセージ受信時",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-1000,
140
],
"webhookId": "15e4d662-3f98-48d0-9f50-68838769ecac",
"parameters": {
"public": true,
"options": {
"allowFileUploads": true
},
"initialMessages": "Hi there! 👋\nMy name is Laki. How can I assist you today?"
},
"typeVersion": 1.1
},
{
"id": "172cdbdc-df5e-4126-b437-6ee87cb002e8",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-1000,
340
],
"webhookId": "9ba11544-5c4e-4f91-818a-08a4ecb596c5",
"parameters": {
"path": "rag-chat",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 2
},
{
"id": "c22851fc-54b3-4f6f-90de-1d1ee4144987",
"name": "PDFテキスト抽出",
"type": "n8n-nodes-base.extractFromFile",
"position": [
360,
620
],
"parameters": {
"options": {},
"operation": "pdf"
},
"typeVersion": 1
},
{
"id": "6cd6a07e-e401-4941-8120-0fe720138986",
"name": "集約",
"type": "n8n-nodes-base.aggregate",
"position": [
280,
800
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "57dd71fa-6500-4e8f-b5e2-824eb8812b9a",
"name": "Character Text Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
"position": [
840,
1060
],
"parameters": {},
"typeVersion": 1
},
{
"id": "af7a36dc-8a07-4b00-affc-5c01677d3dcf",
"name": "要約",
"type": "n8n-nodes-base.summarize",
"position": [
440,
800
],
"parameters": {
"options": {},
"fieldsToSummarize": {
"values": [
{
"field": "data",
"aggregation": "concatenate"
}
]
}
},
"typeVersion": 1
},
{
"id": "64931b9c-35d3-4eff-89f6-9fb6053325d2",
"name": "RAG AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-520,
140
],
"parameters": {
"text": "={{ $json.chatInput }}\n\nContext from retrieved documents:\n{{ $json.user_documents }}\n\nInstructions:\n- Use ONLY the context above to answer the question.\n- If the context already provides the answer, respond directly with that Answer.\n- Do NOT call any tools or offer to call tools if the context already has the answer.\n- Only call tools if the context is empty or obviously incomplete.\n- Keep the answer clear and complete.\n",
"options": {
"systemMessage": "=You are a helpful assistant that answers user questions. Always prioritize using the provided context. Only call tools when the provided context does not contain the necessary information.\nIf you use the tool then provide the answer coming from the tool directly\n"
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "de90a406-592e-4c0d-9052-3e95caebf01b",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
-180,
800
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Set File ID').item.json.file_type }}",
"rightValue": "application/pdf"
}
]
}
},
{
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2ae7faa7-a936-4621-a680-60c512163034",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Set File ID').item.json.file_type }}",
"rightValue": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
}
]
}
},
{
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "fc193b06-363b-4699-a97d-e5a850138b0e",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Set File ID').item.json.file_type }}",
"rightValue": "application/vnd.google-apps.document"
}
]
}
}
]
},
"options": {
"fallbackOutput": 2
}
},
"typeVersion": 3
},
{
"id": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"name": "Supabase Vectorstore への挿入",
"type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
"position": [
720,
620
],
"parameters": {
"mode": "insert",
"options": {
"queryName": "match_documents"
},
"tableName": {
"__rl": true,
"mode": "list",
"value": "documents",
"cachedResultName": "documents"
}
},
"credentials": {
"supabaseApi": {
"id": "",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "5d235803-705e-4366-b00f-ceef912db642",
"name": "Excelから抽出",
"type": "n8n-nodes-base.extractFromFile",
"position": [
120,
800
],
"parameters": {
"options": {},
"operation": "xlsx"
},
"typeVersion": 1
},
{
"id": "0f3b9083-0510-4129-9833-215c7189148b",
"name": "Embeddings Ollama",
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"position": [
680,
840
],
"parameters": {
"model": "nomic-embed-text:latest"
},
"credentials": {
"ollamaApi": {
"id": "7CIt42W14b1MCgxQ",
"name": "Ollama account"
}
},
"typeVersion": 1
},
{
"id": "ca178e83-d5c1-475a-b5fa-9e83f840cd19",
"name": "Embeddings Ollama1",
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"position": [
200,
420
],
"parameters": {
"model": "nomic-embed-text:latest"
},
"credentials": {
"ollamaApi": {
"id": "7CIt42W14b1MCgxQ",
"name": "Ollama account"
}
},
"typeVersion": 1
},
{
"id": "5a3c0b2d-1a38-4a5f-b6b9-638ea50cce7d",
"name": "Supabase Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
"position": [
80,
280
],
"parameters": {
"options": {
"queryName": "match_documents"
},
"tableName": {
"__rl": true,
"mode": "list",
"value": "documents",
"cachedResultName": "documents"
}
},
"credentials": {
"supabaseApi": {
"id": "",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "aa18ff0f-e29e-453f-b637-581bbb021594",
"name": "Ollama Model",
"type": "@n8n/n8n-nodes-langchain.lmOllama",
"position": [
420,
320
],
"parameters": {
"model": "llama3.1:latest",
"options": {}
},
"credentials": {
"ollamaApi": {
"id": "7CIt42W14b1MCgxQ",
"name": "Ollama account"
}
},
"typeVersion": 1
},
{
"id": "175164e7-4a84-48b2-a225-dea6afe1e94d",
"name": "Ollama Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"position": [
-660,
380
],
"parameters": {
"model": "llama3.1:latest",
"options": {
"temperature": 0.5
}
},
"credentials": {
"ollamaApi": {
"id": "7CIt42W14b1MCgxQ",
"name": "Ollama account"
}
},
"typeVersion": 1
},
{
"id": "8a46d0ff-ceb9-435f-a347-d97e103cd0bc",
"name": "User_documents",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
200,
120
],
"parameters": {
"name": "user_documents",
"description": "Contains all the user's documents that you can check for context to answer user questions."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5e57d44f-1063-4539-bbeb-d2c65025509a",
"connections": {
"de90a406-592e-4c0d-9052-3e95caebf01b": {
"main": [
[
{
"node": "c22851fc-54b3-4f6f-90de-1d1ee4144987",
"type": "main",
"index": 0
}
],
[
{
"node": "5d235803-705e-4366-b00f-ceef912db642",
"type": "main",
"index": 0
}
],
[
{
"node": "70d053ec-b880-489c-8c20-261f0a4c148c",
"type": "main",
"index": 0
}
]
]
},
"172cdbdc-df5e-4126-b437-6ee87cb002e8": {
"main": [
[
{
"node": "c7cf92ba-d3b7-401f-be57-1f2ad1452fad",
"type": "main",
"index": 0
}
]
]
},
"6cd6a07e-e401-4941-8120-0fe720138986": {
"main": [
[
{
"node": "af7a36dc-8a07-4b00-affc-5c01677d3dcf",
"type": "main",
"index": 0
}
]
]
},
"af7a36dc-8a07-4b00-affc-5c01677d3dcf": {
"main": [
[
{
"node": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"type": "main",
"index": 0
}
]
]
},
"c7cf92ba-d3b7-401f-be57-1f2ad1452fad": {
"main": [
[
{
"node": "64931b9c-35d3-4eff-89f6-9fb6053325d2",
"type": "main",
"index": 0
}
]
]
},
"e5ca30cc-ea70-42b1-bdce-b110a922765b": {
"main": [
[
{
"node": "fff92d07-0a2c-40ff-a073-b2e17d4695a3",
"type": "main",
"index": 0
}
]
]
},
"d6053181-12df-4ee9-98fc-5263c44cb828": {
"main": [
[
{
"node": "e5ca30cc-ea70-42b1-bdce-b110a922765b",
"type": "main",
"index": 0
}
]
]
},
"0ed25822-27c2-4ae3-9ec9-ff0eaeec1938": {
"main": [
[
{
"node": "e5ca30cc-ea70-42b1-bdce-b110a922765b",
"type": "main",
"index": 0
}
]
]
},
"aa18ff0f-e29e-453f-b637-581bbb021594": {
"ai_languageModel": [
[
{
"node": "8a46d0ff-ceb9-435f-a347-d97e103cd0bc",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"64931b9c-35d3-4eff-89f6-9fb6053325d2": {
"main": [
[
{
"node": "33ffec5d-1c87-42df-91a9-87f29fda4d24",
"type": "main",
"index": 0
}
]
]
},
"f4f6830e-e057-4817-99b6-cd1a24ef85af": {
"main": [
[
{
"node": "de90a406-592e-4c0d-9052-3e95caebf01b",
"type": "main",
"index": 0
}
]
]
},
"8a46d0ff-ceb9-435f-a347-d97e103cd0bc": {
"ai_tool": [
[
{
"node": "64931b9c-35d3-4eff-89f6-9fb6053325d2",
"type": "ai_tool",
"index": 0
}
]
]
},
"c22851fc-54b3-4f6f-90de-1d1ee4144987": {
"main": [
[
{
"node": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"type": "main",
"index": 0
}
]
]
},
"0f3b9083-0510-4129-9833-215c7189148b": {
"ai_embedding": [
[
{
"node": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"type": "ai_embedding",
"index": 0
}
]
]
},
"175164e7-4a84-48b2-a225-dea6afe1e94d": {
"ai_languageModel": [
[
{
"node": "64931b9c-35d3-4eff-89f6-9fb6053325d2",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"ca178e83-d5c1-475a-b5fa-9e83f840cd19": {
"ai_embedding": [
[
{
"node": "5a3c0b2d-1a38-4a5f-b6b9-638ea50cce7d",
"type": "ai_embedding",
"index": 0
}
]
]
},
"5d235803-705e-4366-b00f-ceef912db642": {
"main": [
[
{
"node": "6cd6a07e-e401-4941-8120-0fe720138986",
"type": "main",
"index": 0
}
]
]
},
"5499112e-c417-4a13-9d3f-6e1aa16ee8cd": {
"ai_document": [
[
{
"node": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"type": "ai_document",
"index": 0
}
]
]
},
"fff92d07-0a2c-40ff-a073-b2e17d4695a3": {
"main": [
[
{
"node": "f4f6830e-e057-4817-99b6-cd1a24ef85af",
"type": "main",
"index": 0
}
]
]
},
"cb9d4b81-c74f-44e5-9cb5-f55133b737d5": {
"ai_memory": [
[
{
"node": "64931b9c-35d3-4eff-89f6-9fb6053325d2",
"type": "ai_memory",
"index": 0
}
]
]
},
"70d053ec-b880-489c-8c20-261f0a4c148c": {
"main": [
[
{
"node": "a2055d5e-a445-4706-afb7-f36f8adedb43",
"type": "main",
"index": 0
}
]
]
},
"5a3c0b2d-1a38-4a5f-b6b9-638ea50cce7d": {
"ai_vectorStore": [
[
{
"node": "8a46d0ff-ceb9-435f-a347-d97e103cd0bc",
"type": "ai_vectorStore",
"index": 0
}
]
]
},
"57dd71fa-6500-4e8f-b5e2-824eb8812b9a": {
"ai_textSplitter": [
[
{
"node": "5499112e-c417-4a13-9d3f-6e1aa16ee8cd",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"28af4afe-bb57-41cf-97cd-5f5bf244ced2": {
"main": [
[
{
"node": "c7cf92ba-d3b7-401f-be57-1f2ad1452fad",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - 内部Wiki, AI RAG検索拡張
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
n8nローカルテスト
Llama3、Postgres、Qdrant、Google Driveを使ったプライベートドキュメントQAシステムの構築
Set
Google Drive
Agent
+
Set
Google Drive
Agent
20 ノードDavid Olusola
内部Wiki
n8n ローカルAIエージェントRAGテンプレート
Ollama AI、スマートRAGエージェント、PGVectorを使用したローカル文書Q&Aシステム
Set
Switch
Webhook
+
Set
Switch
Webhook
41 ノードJadai kongolo
内部Wiki
ペットショップ 4
ペットショップ予約AIエージェント
If
Set
Code
+
If
Set
Code
187 ノードBruno Dias
人工知能
[テンプレート] AIペットショップ v8
AIペットショップアシスタント - GPT-4o、Googleカレンダー、WhatsApp/Instagram/Facebookを統合
If
N8n
Set
+
If
N8n
Set
244 ノードAmanda Benks
営業
AI エージェント レストラン [テンプレート]
🤖 WhatsApp、Instagram、MessengerのAIレストランアシスタント
If
N8n
Set
+
If
N8n
Set
239 ノードAmanda Benks
その他
デリバリー ハンバーガーショップ MVP
🤖 レストランと配送の自動化を支援するAI駆動型WhatsAppアシスタント
If
Set
Code
+
If
Set
Code
152 ノードBruno Dias