Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save nunawa/29f97477d5036b3d56f9e48d3ecbb201 to your computer and use it in GitHub Desktop.

Select an option

Save nunawa/29f97477d5036b3d56f9e48d3ecbb201 to your computer and use it in GitHub Desktop.
RSSフィードから海外のテック記事を収集し、AIで選定・翻訳・要約するためのn8nワークフロー
{
"name": "RSSフィードから海外のテック記事を収集し、AIで選定・翻訳・要約する",
"nodes": [
{
"parameters": {
"content": "## 1. 記事をQdrantに保存",
"height": 80,
"width": 488,
"color": 7
},
"id": "4eea1ad9-16c0-425a-99f5-2ba2f59efaac",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2064,
144
],
"typeVersion": 1
},
{
"parameters": {
"content": "## 2. 記事の要約を作成し、デプロイを開始",
"height": 80,
"width": 500,
"color": 7
},
"id": "ea83c928-c15f-4b1c-b3ed-71a8cf1b3128",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2064,
1040
],
"typeVersion": 1
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "b8c00469-890b-4b5b-8e2e-2ad9ec2d0815",
"name": "rss",
"type": "array",
"value": "=[\n \"https://www.upvote-rss.com/?platform=hacker-news&community=beststories&score=100&content=&view=rss\",\n \"https://www.upvote-rss.com/?platform=lobsters&community=all&type=all&score=20&content=0&summary=&comments=3&filterOldPosts=3&view=rss\",\n \"https://rss.slashdot.org/Slashdot/slashdotMain\",\n \"https://cprss.s3.amazonaws.com/javascriptweekly.com.xml\",\n \"https://simonwillison.net/atom/entries/\",\n \"https://feeds.feedburner.com/ThePragmaticEngineer\",\n \"https://martinfowler.com/feed.atom\",\n \"https://lethain.com/feeds.xml\",\n \"https://jvns.ca/atom.xml\",\n \"https://feed.infoq.com/\",\n \"https://techcrunch.com/feed/\",\n \"https://feeds.arstechnica.com/arstechnica/technology-lab\",\n \"https://www.cnet.com/rss/news/\",\n \"https://www.theverge.com/rss/index.xml\",\n \"https://www.theregister.com/headlines.atom\",\n \"https://wccftech.com/feed/\",\n \"https://www.404media.co/rss/\",\n \"https://spectrum.ieee.org/customfeeds/feed/all-topics/rss\"\n]"
}
]
},
"options": {}
},
"id": "84adb2a2-ff90-4ea4-a6ab-45998004a2f4",
"name": "テック系ニュースのRSSフィードをセット",
"type": "n8n-nodes-base.set",
"position": [
-1792,
352
],
"typeVersion": 3.4
},
{
"parameters": {
"fieldToSplitOut": "rss",
"options": {}
},
"id": "605215fe-eb9e-4ada-a6f2-6b193b248ac1",
"name": "リストを分割",
"type": "n8n-nodes-base.splitOut",
"position": [
-1568,
352
],
"typeVersion": 1
},
{
"parameters": {
"url": "={{ $json.rss }}",
"options": {
"ignoreSSL": false
}
},
"id": "f4960ca4-bb54-4fc7-9d1a-ead081932f74",
"name": "RSSフィードを読み取り",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
-1344,
352
],
"typeVersion": 1.1,
"retryOnFail": true,
"waitBetweenTries": 1000,
"onError": "continueRegularOutput"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "e9f27ceb-c5f2-4997-8cb1-67576a7bb337",
"name": "title",
"type": "string",
"value": "={{ $json.title }}"
},
{
"id": "4c4f9417-40f2-4fb0-9976-d09f5984680f",
"name": "content",
"type": "string",
"value": "={{ ($json['content:encodedSnippet'] ?? $json.contentSnippet ?? $json.summary ?? \"\").removeTags().substring(0, 10000) }}"
},
{
"id": "e1986bac-054e-4240-ba50-536dbcd27337",
"name": "date",
"type": "string",
"value": "={{ $json.isoDate }}"
},
{
"id": "9566e23c-ac30-4d66-abbd-889f322688b7",
"name": "link",
"type": "string",
"value": "={{ $json.link }}"
}
]
},
"options": {}
},
"id": "ee2fd5d1-1f8d-41c0-8b38-6cbca7f2a117",
"name": "フィールドを正規化",
"type": "n8n-nodes-base.set",
"position": [
-1120,
352
],
"typeVersion": 3.4
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "46b51c57-d854-46c5-b8b5-b0893848c680",
"leftValue": "={{ $json.title }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
},
{
"id": "28a39a92-78fc-47b1-8303-9ef07a6fb358",
"leftValue": "={{ $json.content }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
},
{
"id": "d468b613-2b0f-46ad-982b-9392a843ec37",
"leftValue": "={{ $json.date }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
},
{
"id": "68d8a202-6269-49e0-bac0-316c8090ecc9",
"leftValue": "={{ $json.link }}",
"rightValue": "",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.filter",
"typeVersion": 2.2,
"position": [
-896,
352
],
"id": "eda78476-5146-471d-bb42-67ca08c6d343",
"name": "値が存在しているフィールドのみ抽出"
},
{
"parameters": {
"resource": "collection",
"operation": "collectionExists"
},
"type": "n8n-nodes-qdrant.qdrant",
"typeVersion": 1,
"position": [
-672,
352
],
"id": "505b1bbe-9393-4577-8cdd-9bfc68e19edc",
"name": "QdrantのCollectionを作成済みか確認",
"credentials": {}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "e57bbfd0-e980-4a6f-b0a2-4ca4f78fde77",
"leftValue": "={{ $json.result.exists }}",
"rightValue": "",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
-448,
352
],
"id": "d15a5339-0697-435d-945a-5e9b33e63534",
"name": "もしQdrantのCollectionを作成済みなら",
"alwaysOutputData": false
},
{
"parameters": {
"batchSize": "=1",
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
-224,
192
],
"id": "9d365942-9531-40cc-bc82-7341b9bd1559",
"name": "記事ごとにループ"
},
{
"parameters": {
"mode": "insert",
"qdrantCollection": {
"__rl": true,
"mode": "id",
"value": "n8n_tech_articles"
},
"embeddingBatchSize": 100,
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"typeVersion": 1.3,
"position": [
1056,
192
],
"id": "eb121821-da7a-47b7-b8f7-e3efbe263760",
"name": "記事をベクトル化してQdrantに保存"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "ee60b4ce-cd93-41f2-92ce-72c2c92871f5",
"leftValue": "={{ $json.is_duplicated }}",
"rightValue": "",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.filter",
"typeVersion": 2.2,
"position": [
0,
0
],
"id": "b096c6e9-93ff-4f9b-8697-8fe5d0596f40",
"name": "重複しているものを除外"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 2
},
"conditions": [
{
"id": "3a5e5687-25fd-4605-9ac7-97562b418856",
"leftValue": "={{ $json.result.points }}",
"rightValue": "",
"operator": {
"type": "array",
"operation": "empty",
"singleValue": true
}
}
],
"combinator": "and"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.2,
"position": [
368,
208
],
"id": "47a68450-e762-4edd-9e74-5e11941b8ab2",
"name": "もし検索結果が空なら"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "6d431b52-4dd7-4eec-b2ab-dd688b54c4cb",
"name": "is_duplicated",
"value": false,
"type": "boolean"
},
{
"id": "053bf433-4b45-4d95-a844-aa9a3b38c331",
"name": "title",
"value": "={{ $('フィールドを正規化').item.json.title }}",
"type": "string"
},
{
"id": "eadb65e9-f3a1-4f8e-aa31-1a1a20f73d00",
"name": "content",
"value": "={{ $('フィールドを正規化').item.json.content }}",
"type": "string"
},
{
"id": "aad9c824-9ae3-438e-add4-36e1b204545e",
"name": "date",
"value": "={{ $('フィールドを正規化').item.json.date }}",
"type": "string"
},
{
"id": "8d9ebf11-fc62-4eea-8437-89075d740864",
"name": "link",
"value": "={{ $('フィールドを正規化').item.json.link }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
720,
192
],
"id": "cb09767f-6242-4472-b5ff-869f166e6e54",
"name": "重複フラグをtrueに設定"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "728a1c51-400a-45f1-801f-789aca354fc2",
"name": "is_duplicated",
"value": true,
"type": "boolean"
},
{
"id": "684dc413-cb68-41c6-9f16-151ec8f010c9",
"name": "title",
"value": "={{ $('フィールドを正規化').item.json.title }}",
"type": "string"
},
{
"id": "68e27f97-5cb9-49ea-b835-f5d63beb38f6",
"name": "content",
"value": "={{ $('フィールドを正規化').item.json.content }}",
"type": "string"
},
{
"id": "dbddd725-88e2-438c-b6de-0d7810eaa35b",
"name": "date",
"value": "={{ $('フィールドを正規化').item.json.date }}",
"type": "string"
},
{
"id": "98d6a925-c458-4302-a75a-b779dc929d5c",
"name": "link",
"value": "={{ $('フィールドを正規化').item.json.link }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
720,
384
],
"id": "6aae086e-9098-4df9-ac1d-0729bc258215",
"name": "重複フラグをfalseに設定"
},
{
"parameters": {
"jsonMode": "expressionData",
"jsonData": "=# {{ $json.title }}\n{{ $json.content }}",
"options": {
"metadata": {
"metadataValues": [
{
"name": "title",
"value": "={{ $json.title }}"
},
{
"name": "publishDate",
"value": "={{ $json.date }}"
},
{
"name": "link",
"value": "={{ $json.link }}"
}
]
}
}
},
"id": "fca107ce-dd4c-458e-b322-e3f39c79831b",
"name": "記事をチャンク化",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
1152,
416
],
"typeVersion": 1
},
{
"parameters": {
"chunkSize": 2500,
"chunkOverlap": 375,
"options": {}
},
"id": "4336d8da-df4f-4cc7-a501-73d945cfff4c",
"name": "再帰的に文章を分割",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
1232,
624
],
"typeVersion": 1
},
{
"parameters": {
"model": "qwen3-embedding:0.6b"
},
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"typeVersion": 1,
"position": [
1024,
416
],
"id": "d11c1d0b-7c3a-4ea2-9e7a-b5d18af5a526",
"name": "Ollama埋め込みモデル1"
},
{
"parameters": {
"model": "qwen3-embedding:0.6b"
},
"type": "@n8n/n8n-nodes-langchain.embeddingsOllama",
"typeVersion": 1,
"position": [
-1040,
1568
],
"id": "b442157e-d9ca-4af9-b852-6ead06f57475",
"name": "Ollama埋め込みモデル2"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "018882ca-37c3-45af-944f-2081b0605065",
"name": "Interests",
"type": "array",
"value": "[\"AI\", \"LLM\", \"PC building\", \"Gadgets\", \"Linux\", \"Python\", \"TypeScript\"]"
},
{
"id": "4cfdafc1-47a4-41cc-9eb8-72880ea34511",
"name": "Number of news items to include",
"type": "string",
"value": "10"
}
]
},
"options": {}
},
"id": "c4c601e3-afa2-4ca1-9586-76c7565160bb",
"name": "興味のある話題と出力する記事の数を設定",
"type": "n8n-nodes-base.set",
"position": [
-1792,
1248
],
"typeVersion": 3.4
},
{
"parameters": {
"jsCode": "let result = []\n\nfor (const x of $input.first().json.Interests) {\n result.push(({\"interest\": x}))\n}\n\nreturn result\n"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
-1568,
1248
],
"id": "eeafef35-de32-4ac8-bff6-d664eac006d5",
"name": "JavaScriptで興味リストをフォーマット"
},
{
"parameters": {
"options": {}
},
"type": "n8n-nodes-base.splitInBatches",
"typeVersion": 3,
"position": [
-1344,
1248
],
"id": "3a7fa6c5-04cc-42f9-8462-3125b40846f4",
"name": "興味ごとにループ"
},
{
"parameters": {
"mode": "load",
"qdrantCollection": {
"__rl": true,
"value": "n8n_tech_articles",
"mode": "id"
},
"prompt": "={{ $json.interest }}",
"topK": 10,
"options": {
"searchFilterJson": "={\n \"must\": [\n {\n \"key\": \"metadata.publishDate\",\n \"range\": {\n \"gt\": null,\n \"gte\": \"{{ $now.minus(14, \"days\").toUTC().toString() }}\",\n \"lt\": null,\n \"lte\": \"{{ $now.toUTC().toString() }}\"\n }\n }\n ]\n}"
}
},
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"typeVersion": 1.3,
"position": [
-1120,
1344
],
"id": "bffa4bff-2a82-486d-8ab7-7e57980e6ef5",
"name": "Qdrantで興味に近い記事を検索"
},
{
"parameters": {
"model": "qwen/qwen3-235b-a22b-thinking-2507",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
-400,
1488
],
"id": "3769c8ef-c430-4962-bd11-40fb15c045aa",
"name": "OpenRouterチャットモデル1",
"retryOnFail": false,
"waitBetweenTries": 3000
},
{
"parameters": {
"model": "deepseek/deepseek-r1-0528:free",
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"typeVersion": 1,
"position": [
-464,
1280
],
"id": "b581fa16-6080-45db-9be6-dd32ec12fca2",
"name": "OpenRouterチャットモデル2"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "d082ada8-de92-4857-9c30-e062a252fba3",
"name": "article.title",
"value": "={{ $json.document.metadata.title }}",
"type": "string"
},
{
"id": "b627ca31-e6b4-4cd3-95af-d98846f7f981",
"name": "article.link",
"value": "={{ $json.document.metadata.link }}",
"type": "string"
},
{
"id": "f03ed28f-6be3-441d-a13b-8e750abe8309",
"name": "article.publishDate",
"value": "={{ $json.document.metadata.publishDate }}",
"type": "string"
},
{
"id": "fd7df136-054a-40f2-97fd-0f3eb83ca141",
"name": "article.pageContent",
"value": "={{ $json.document.pageContent }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-1056,
1056
],
"id": "ffe822a0-a2cd-4d27-aefa-400cab1c60ce",
"name": "フィールドを再設定2"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "43641bd4-444e-408d-9f7a-5e6bdab931c1",
"name": "title",
"value": "={{ $('値が存在しているフィールドのみ抽出').item.json.title }}",
"type": "string"
},
{
"id": "6ea03c7d-24c1-48de-8684-dcbcc3bc22f9",
"name": "content",
"value": "={{ $('値が存在しているフィールドのみ抽出').item.json.content }}",
"type": "string"
},
{
"id": "96c16c7a-49e3-4f33-84a1-afa9b42e54f3",
"name": "date",
"value": "={{ $('値が存在しているフィールドのみ抽出').item.json.date }}",
"type": "string"
},
{
"id": "f8624ed8-d45a-4e1b-983f-2a5b7f1c5c9e",
"name": "link",
"value": "={{ $('値が存在しているフィールドのみ抽出').item.json.link }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
0,
624
],
"id": "89d95af3-0616-4606-9c0e-963713ffd953",
"name": "フィールドを再設定1",
"notes": "Default Data LoaderがPrevius nodeを見に行くのでFieldsをセットしなおす"
},
{
"parameters": {
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "article",
"renameField": true,
"outputFieldName": "articles"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.aggregate",
"typeVersion": 1,
"position": [
-768,
1056
],
"id": "2ff01506-8757-422f-8571-808c748079bf",
"name": "記事を集約"
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"articles\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"string\"\n },\n \"link\": {\n \"type\": \"string\",\n \"format\": \"uri\"\n },\n \"publishDate\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"content\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"title\",\n \"link\",\n \"publishDate\",\n \"content\"\n ]\n }\n }\n },\n \"required\": [\n \"articles\"\n ]\n}",
"autoFix": true
},
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"typeVersion": 1.3,
"position": [
-336,
1280
],
"id": "3fcf4092-0dfe-4f82-aaeb-6a6815ced4b0",
"name": "Structured Outputパーサー"
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict",
"version": 3
},
"conditions": [
{
"id": "971f383c-c181-4574-9732-cb41a730e429",
"leftValue": "={{ $json.output.articles.map(article => article.link).join() }}",
"rightValue": "example.com",
"operator": {
"type": "string",
"operation": "contains"
}
},
{
"id": "ee9af3e7-d7bf-40fa-9244-261a97db3f89",
"leftValue": "={{ $json.output.articles.length }}",
"rightValue": "={{ $('興味のある話題と出力する記事の数を設定').item.json['Number of news items to include'].toNumber() }}",
"operator": {
"type": "number",
"operation": "lt"
}
}
],
"combinator": "or"
},
"options": {}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2.3,
"position": [
32,
1056
],
"id": "2d9b7ab5-ec88-4939-b167-3b415505094a",
"name": "もし出力がハルシネーションしているなら"
},
{
"parameters": {
"errorMessage": "出力がハルシネーションしている可能性があります"
},
"type": "n8n-nodes-base.stopAndError",
"typeVersion": 1,
"position": [
256,
960
],
"id": "5a28b57c-64c4-4de4-888a-24f8ae57142e",
"name": "実行を失敗させる"
},
{
"parameters": {
"promptType": "define",
"text": "=Topics of interest: {{ $('興味のある話題と出力する記事の数を設定').item.json.Interests }}\n\nSelect from the following articles.\n\n---\n\n{{ $json.articles.toJsonString() }}\n",
"hasOutputParser": true,
"needsFallback": true,
"messages": {
"messageValues": [
{
"message": "=You are a technical news curator for Software engineers. Select and summarize articles in Japanese based on the user's interests.\n\n## Article Selection Criteria\n\nSelect the top {{ $('興味のある話題と出力する記事の数を設定').item.json['Number of news items to include'] }} articles. Prioritize in this order:\n\n1. **Recency**: Published within the last 7 days from {{ $now.format(\"yyyy-MM-dd\") }}\n2. **Actionability**: Practical content engineers can apply immediately — new tools, tutorials, best practices, or working code examples\n3. **Impact**: Industry-wide significance — major product releases, critical vulnerabilities, or paradigm shifts\n4. **Depth**: Articles reflecting real hands-on experience or deep expertise; exclude thin content, listicles without substance, or purely promotional material\n5. **Diversity**: Avoid selecting multiple articles on the same specific topic\n\n## Output Rules\n\nFor each selected article:\n\n- `title`: Translate the original title into natural Japanese\n- `link`: Copy the original URL exactly — do NOT modify or fabricate\n- `publishDate`: Copy the original date exactly — do NOT alter\n- `content`: Write a 2–3 sentence Japanese summary covering: what it is and the key takeaways or conclusions\n\n**Strict constraints:**\n\n- Use ONLY articles provided in the input; never invent articles\n- Base summaries solely on provided content; no external facts or speculation\n"
}
]
},
"batching": {}
},
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"typeVersion": 1.7,
"position": [
-544,
1056
],
"id": "acc71211-e297-48e4-afe2-664ad33c9c85",
"name": "LLMで記事を選定・翻訳・要約",
"retryOnFail": true,
"waitBetweenTries": 5000
},
{
"parameters": {
"operation": "upload",
"bucketName": "technews-feed",
"fileName": "feed.json",
"binaryData": false,
"fileContent": "={{ $json.output.toJsonString() }}",
"additionalFields": {}
},
"type": "n8n-nodes-base.s3",
"typeVersion": 1,
"position": [
256,
1152
],
"id": "1a6a41b0-a850-4392-a793-012f71a38a8d",
"name": "S3互換ストレージにJSONをアップロード"
},
{
"parameters": {
"operation": "copy",
"sourcePath": "/technews-feed/feed.json",
"destinationPath": "=/technews-feed/archive/feed-{{ $now.format('yyyy-MM-dd') }}.json",
"additionalFields": {}
},
"type": "n8n-nodes-base.s3",
"typeVersion": 1,
"position": [
480,
1152
],
"id": "6ef9c950-d198-4b1e-a03e-4661ac743bf8",
"name": "archiveフォルダにJSONをコピー"
},
{
"parameters": {
"method": "POST",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.3,
"position": [
928,
1152
],
"id": "c8dd24d4-cb30-451b-95d4-510757e37bda",
"name": "Cloudflare PagesのDeploy Hookを叩く"
},
{
"parameters": {
"resource": "collection",
"operation": "deleteCollection"
},
"type": "n8n-nodes-qdrant.qdrant",
"typeVersion": 1,
"position": [
704,
1152
],
"id": "d2c7f5cc-dfa2-48a7-bfa2-efb24bcc1274",
"name": "QdrantのCollectionを削除",
"credentials": {}
},
{
"parameters": {
"resource": "point",
"operation": "scrollPoints"
},
"type": "n8n-nodes-qdrant.qdrant",
"typeVersion": 1,
"position": [
0,
208
],
"id": "f6e90a4f-01bc-49c0-88e5-cfbb37ffbe91",
"name": "Qdrantで同じURLの記事を検索",
"alwaysOutputData": false,
"credentials": {}
},
{
"parameters": {
"path": "c2f41cfa-c277-45b0-accb-7ae7c2c2f28b",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-2016,
352
],
"id": "571f96cd-01f2-424c-9636-c6a8e06db375",
"name": "収集用Webhookトリガー",
"webhookId": "c2f41cfa-c277-45b0-accb-7ae7c2c2f28b"
},
{
"parameters": {
"path": "7454ecd2-cc7c-457d-91b4-655605e8a879",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 2.1,
"position": [
-2016,
1248
],
"id": "08125531-86b6-4d33-a0f5-5d7547958b60",
"name": "要約用Webhookトリガー",
"webhookId": "7454ecd2-cc7c-457d-91b4-655605e8a879"
}
],
"pinData": {},
"connections": {
"テック系ニュースのRSSフィードをセット": {
"main": [
[
{
"node": "リストを分割",
"type": "main",
"index": 0
}
]
]
},
"リストを分割": {
"main": [
[
{
"node": "RSSフィードを読み取り",
"type": "main",
"index": 0
}
]
]
},
"RSSフィードを読み取り": {
"main": [
[
{
"node": "フィールドを正規化",
"type": "main",
"index": 0
}
]
]
},
"フィールドを正規化": {
"main": [
[
{
"node": "値が存在しているフィールドのみ抽出",
"type": "main",
"index": 0
}
]
]
},
"値が存在しているフィールドのみ抽出": {
"main": [
[
{
"node": "QdrantのCollectionを作成済みか確認",
"type": "main",
"index": 0
}
]
]
},
"QdrantのCollectionを作成済みか確認": {
"main": [
[
{
"node": "もしQdrantのCollectionを作成済みなら",
"type": "main",
"index": 0
}
]
]
},
"もしQdrantのCollectionを作成済みなら": {
"main": [
[
{
"node": "記事ごとにループ",
"type": "main",
"index": 0
}
],
[
{
"node": "フィールドを再設定1",
"type": "main",
"index": 0
}
]
]
},
"記事ごとにループ": {
"main": [
[
{
"node": "重複しているものを除外",
"type": "main",
"index": 0
}
],
[
{
"node": "Qdrantで同じURLの記事を検索",
"type": "main",
"index": 0
}
]
]
},
"重複しているものを除外": {
"main": [
[
{
"node": "記事をベクトル化してQdrantに保存",
"type": "main",
"index": 0
}
]
]
},
"もし検索結果が空なら": {
"main": [
[
{
"node": "重複フラグをtrueに設定",
"type": "main",
"index": 0
}
],
[
{
"node": "重複フラグをfalseに設定",
"type": "main",
"index": 0
}
]
]
},
"重複フラグをtrueに設定": {
"main": [
[
{
"node": "記事ごとにループ",
"type": "main",
"index": 0
}
]
]
},
"重複フラグをfalseに設定": {
"main": [
[
{
"node": "記事ごとにループ",
"type": "main",
"index": 0
}
]
]
},
"記事をチャンク化": {
"ai_document": [
[
{
"node": "記事をベクトル化してQdrantに保存",
"type": "ai_document",
"index": 0
}
]
]
},
"再帰的に文章を分割": {
"ai_textSplitter": [
[
{
"node": "記事をチャンク化",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"Ollama埋め込みモデル1": {
"ai_embedding": [
[
{
"node": "記事をベクトル化してQdrantに保存",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Ollama埋め込みモデル2": {
"ai_embedding": [
[
{
"node": "Qdrantで興味に近い記事を検索",
"type": "ai_embedding",
"index": 0
}
]
]
},
"興味のある話題と出力する記事の数を設定": {
"main": [
[
{
"node": "JavaScriptで興味リストをフォーマット",
"type": "main",
"index": 0
}
]
]
},
"JavaScriptで興味リストをフォーマット": {
"main": [
[
{
"node": "興味ごとにループ",
"type": "main",
"index": 0
}
]
]
},
"興味ごとにループ": {
"main": [
[
{
"node": "フィールドを再設定2",
"type": "main",
"index": 0
}
],
[
{
"node": "Qdrantで興味に近い記事を検索",
"type": "main",
"index": 0
}
]
]
},
"Qdrantで興味に近い記事を検索": {
"main": [
[
{
"node": "興味ごとにループ",
"type": "main",
"index": 0
}
]
]
},
"OpenRouterチャットモデル1": {
"ai_languageModel": [
[
{
"node": "LLMで記事を選定・翻訳・要約",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Structured Outputパーサー",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenRouterチャットモデル2": {
"ai_languageModel": [
[
{
"node": "LLMで記事を選定・翻訳・要約",
"type": "ai_languageModel",
"index": 1
}
]
]
},
"フィールドを再設定2": {
"main": [
[
{
"node": "記事を集約",
"type": "main",
"index": 0
}
]
]
},
"フィールドを再設定1": {
"main": [
[
{
"node": "記事をベクトル化してQdrantに保存",
"type": "main",
"index": 0
}
]
]
},
"記事を集約": {
"main": [
[
{
"node": "LLMで記事を選定・翻訳・要約",
"type": "main",
"index": 0
}
]
]
},
"Structured Outputパーサー": {
"ai_outputParser": [
[
{
"node": "LLMで記事を選定・翻訳・要約",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"もし出力がハルシネーションしているなら": {
"main": [
[
{
"node": "実行を失敗させる",
"type": "main",
"index": 0
}
],
[
{
"node": "S3互換ストレージにJSONをアップロード",
"type": "main",
"index": 0
}
]
]
},
"LLMで記事を選定・翻訳・要約": {
"main": [
[
{
"node": "もし出力がハルシネーションしているなら",
"type": "main",
"index": 0
}
]
]
},
"S3互換ストレージにJSONをアップロード": {
"main": [
[
{
"node": "archiveフォルダにJSONをコピー",
"type": "main",
"index": 0
}
]
]
},
"archiveフォルダにJSONをコピー": {
"main": [
[
{
"node": "QdrantのCollectionを削除",
"type": "main",
"index": 0
}
]
]
},
"QdrantのCollectionを削除": {
"main": [
[
{
"node": "Cloudflare PagesのDeploy Hookを叩く",
"type": "main",
"index": 0
}
]
]
},
"Qdrantで同じURLの記事を検索": {
"main": [
[
{
"node": "もし検索結果が空なら",
"type": "main",
"index": 0
}
]
]
},
"収集用Webhookトリガー": {
"main": [
[
{
"node": "テック系ニュースのRSSフィードをセット",
"type": "main",
"index": 0
}
]
]
},
"要約用Webhookトリガー": {
"main": [
[
{
"node": "興味のある話題と出力する記事の数を設定",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1",
"binaryMode": "separate",
"availableInMCP": false
},
"versionId": "d54cff1f-86ea-4b92-9f8a-8999b4b184b0",
"meta": {
"instanceId": "4b4255fcbdfddf89d2c8e40ac72451a561f538d8f8d11193bcd53083c785fbb0"
},
"id": "RFAA946wO5Yod3wo",
"tags": []
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment