{
 "name": "[노드 한 장] Text Classifier · 리뷰를 AI가 네 갈래로",
 "nodes": [
  {
   "id": "c1",
   "name": "Run manually",
   "type": "n8n-nodes-base.manualTrigger",
   "typeVersion": 1,
   "position": [
    0,
    200
   ],
   "parameters": {}
  },
  {
   "id": "c2",
   "name": "Get recent reviews",
   "type": "n8n-nodes-base.httpRequest",
   "typeVersion": 4.2,
   "position": [
    220,
    200
   ],
   "parameters": {
    "url": "https://store.steampowered.com/ajaxappreviews/1091500?json=1&l=english&language=english&num_per_page=20&filter=recent&purchase_type=all",
    "options": {}
   }
  },
  {
   "id": "c3",
   "name": "One review per item",
   "type": "n8n-nodes-base.code",
   "typeVersion": 2,
   "position": [
    440,
    200
   ],
   "parameters": {
    "jsCode": "const r = $input.first().json.reviews || [];\nreturn r\n  .filter(x => x.review.trim().length >= 40)\n  .map((x, i) => ({ json: {\n    no: i + 1,\n    recommended: x.voted_up,\n    review: x.review.replace(/\\s+/g, ' ').trim().slice(0, 400)\n  }}));"
   }
  },
  {
   "id": "c4",
   "name": "Text Classifier",
   "type": "@n8n/n8n-nodes-langchain.textClassifier",
   "typeVersion": 1.1,
   "position": [
    680,
    200
   ],
   "parameters": {
    "inputText": "={{ $json.review }}",
    "categories": {
     "categories": [
      {
       "category": "버그·기술 문제",
       "description": "The review mainly complains about bugs, crashes, performance, installation or other technical problems"
      },
      {
       "category": "칭찬",
       "description": "The review mainly praises the game (story, gameplay, graphics, characters, fun)"
      },
      {
       "category": "가격·가치",
       "description": "The review mainly talks about price, sale, discount or whether it is worth the money"
      },
      {
       "category": "기타",
       "description": "Anything else: jokes, memes, unclear or off-topic reviews"
      }
     ]
    },
    "options": {}
   }
  },
  {
   "id": "c5",
   "name": "OpenAI Chat Model",
   "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
   "typeVersion": 1.2,
   "position": [
    680,
    420
   ],
   "parameters": {
    "model": {
     "__rl": true,
     "mode": "list",
     "value": "gpt-4.1-mini",
     "cachedResultName": "gpt-4.1-mini"
    },
    "options": {
     "temperature": 0
    }
   }
  },
  {
   "id": "c6",
   "name": "Label: bug",
   "type": "n8n-nodes-base.set",
   "typeVersion": 3.4,
   "position": [
    960,
    0
   ],
   "parameters": {
    "assignments": {
     "assignments": [
      {
       "id": "a1",
       "name": "no",
       "type": "number",
       "value": "={{ $json.no }}"
      },
      {
       "id": "a2",
       "name": "label",
       "type": "string",
       "value": "버그·기술 문제"
      },
      {
       "id": "a3",
       "name": "recommended",
       "type": "boolean",
       "value": "={{ $json.recommended }}"
      }
     ]
    },
    "options": {}
   }
  },
  {
   "id": "c7",
   "name": "Label: praise",
   "type": "n8n-nodes-base.set",
   "typeVersion": 3.4,
   "position": [
    960,
    140
   ],
   "parameters": {
    "assignments": {
     "assignments": [
      {
       "id": "b1",
       "name": "no",
       "type": "number",
       "value": "={{ $json.no }}"
      },
      {
       "id": "b2",
       "name": "label",
       "type": "string",
       "value": "칭찬"
      },
      {
       "id": "b3",
       "name": "recommended",
       "type": "boolean",
       "value": "={{ $json.recommended }}"
      }
     ]
    },
    "options": {}
   }
  },
  {
   "id": "c8",
   "name": "Label: price",
   "type": "n8n-nodes-base.set",
   "typeVersion": 3.4,
   "position": [
    960,
    280
   ],
   "parameters": {
    "assignments": {
     "assignments": [
      {
       "id": "d1",
       "name": "no",
       "type": "number",
       "value": "={{ $json.no }}"
      },
      {
       "id": "d2",
       "name": "label",
       "type": "string",
       "value": "가격·가치"
      },
      {
       "id": "d3",
       "name": "recommended",
       "type": "boolean",
       "value": "={{ $json.recommended }}"
      }
     ]
    },
    "options": {}
   }
  },
  {
   "id": "c9",
   "name": "Label: other",
   "type": "n8n-nodes-base.set",
   "typeVersion": 3.4,
   "position": [
    960,
    420
   ],
   "parameters": {
    "assignments": {
     "assignments": [
      {
       "id": "e1",
       "name": "no",
       "type": "number",
       "value": "={{ $json.no }}"
      },
      {
       "id": "e2",
       "name": "label",
       "type": "string",
       "value": "기타"
      },
      {
       "id": "e3",
       "name": "recommended",
       "type": "boolean",
       "value": "={{ $json.recommended }}"
      }
     ]
    },
    "options": {}
   }
  }
 ],
 "connections": {
  "Run manually": {
   "main": [
    [
     {
      "node": "Get recent reviews",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "Get recent reviews": {
   "main": [
    [
     {
      "node": "One review per item",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "One review per item": {
   "main": [
    [
     {
      "node": "Text Classifier",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "OpenAI Chat Model": {
   "ai_languageModel": [
    [
     {
      "node": "Text Classifier",
      "type": "ai_languageModel",
      "index": 0
     }
    ]
   ]
  },
  "Text Classifier": {
   "main": [
    [
     {
      "node": "Label: bug",
      "type": "main",
      "index": 0
     }
    ],
    [
     {
      "node": "Label: praise",
      "type": "main",
      "index": 0
     }
    ],
    [
     {
      "node": "Label: price",
      "type": "main",
      "index": 0
     }
    ],
    [
     {
      "node": "Label: other",
      "type": "main",
      "index": 0
     }
    ]
   ]
  }
 },
 "settings": {
  "timezone": "Asia/Seoul",
  "executionOrder": "v1"
 },
 "meta": {
  "templateCredsSetupCompleted": false,
  "source": "datapopcorn.ai/workflow/nodes"
 }
}