{
 "name": "[노드 한 장] Information Extractor · 리뷰에서 정해진 칸만 뽑기",
 "nodes": [
  {
   "id": "x1",
   "name": "Run manually",
   "type": "n8n-nodes-base.manualTrigger",
   "typeVersion": 1,
   "position": [
    0,
    0
   ],
   "parameters": {}
  },
  {
   "id": "x2",
   "name": "Get recent reviews",
   "type": "n8n-nodes-base.httpRequest",
   "typeVersion": 4.2,
   "position": [
    220,
    0
   ],
   "parameters": {
    "url": "https://store.steampowered.com/ajaxappreviews/1091500?json=1&l=english&language=english&num_per_page=10&filter=recent&purchase_type=all",
    "options": {}
   }
  },
  {
   "id": "x3",
   "name": "One review per item",
   "type": "n8n-nodes-base.code",
   "typeVersion": 2,
   "position": [
    440,
    0
   ],
   "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": "x4",
   "name": "Information Extractor",
   "type": "@n8n/n8n-nodes-langchain.informationExtractor",
   "typeVersion": 1.2,
   "position": [
    680,
    0
   ],
   "parameters": {
    "text": "={{ $json.review }}",
    "schemaType": "fromAttributes",
    "attributes": {
     "attributes": [
      {
       "name": "sentiment",
       "type": "string",
       "description": "positive, negative or mixed",
       "required": true
      },
      {
       "name": "main_topic",
       "type": "string",
       "description": "what the review is mainly about, 1-3 English words (e.g. story, bugs, graphics)",
       "required": true
      },
      {
       "name": "mentions_bugs",
       "type": "boolean",
       "description": "true if the review mentions bugs, crashes or broken features",
       "required": true
      },
      {
       "name": "summary_ko",
       "type": "string",
       "description": "한국어 한 줄 요약, 30자 이내",
       "required": true
      }
     ]
    },
    "options": {}
   }
  },
  {
   "id": "x5",
   "name": "OpenAI Chat Model",
   "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
   "typeVersion": 1.2,
   "position": [
    680,
    220
   ],
   "parameters": {
    "model": {
     "__rl": true,
     "mode": "list",
     "value": "gpt-4.1-mini",
     "cachedResultName": "gpt-4.1-mini"
    },
    "options": {
     "temperature": 0
    }
   }
  }
 ],
 "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": "Information Extractor",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "OpenAI Chat Model": {
   "ai_languageModel": [
    [
     {
      "node": "Information Extractor",
      "type": "ai_languageModel",
      "index": 0
     }
    ]
   ]
  }
 },
 "settings": {
  "timezone": "Asia/Seoul",
  "executionOrder": "v1"
 },
 "meta": {
  "templateCredsSetupCompleted": false,
  "source": "datapopcorn.ai/workflow/nodes"
 }
}