{
 "name": "[노드 한 장] Recursive Character Text Splitter · 가상 문서를 조각으로",
 "nodes": [
  {
   "id": "m",
   "name": "Run manually",
   "type": "n8n-nodes-base.manualTrigger",
   "typeVersion": 1,
   "position": [
    0,
    0
   ],
   "parameters": {}
  },
  {
   "id": "s",
   "name": "One fictional document",
   "type": "n8n-nodes-base.code",
   "typeVersion": 2,
   "position": [
    220,
    0
   ],
   "parameters": {
    "jsCode": "// 직접 작성한 가상 문서 한 개. 개인정보/emoji 없음.\nreturn [{json:{document:\"샘플 문서: 작은 문구점의 가상 운영 안내\\n\\n가. 입고 준비\\n새 공책과 연필을 받으면 포장 상태와 수량을 먼저 확인합니다. 확인한 물건은 종류별 임시 칸에 나누어 두고, 진열 전에는 가격표와 샘플 목록이 일치하는지 점검합니다. 이 안내는 실제 매장 업무 기록이 아닙니다.\\n\\n나. 진열 정리\\n진열대는 공책, 필기구, 메모지 순서로 정리합니다. 자주 찾는 물건은 손이 닿기 쉬운 곳에 놓고, 빈 칸이 보이면 보관 상자에서 같은 종류를 꺼냅니다. 샘플 가격표는 읽기 쉬운 방향으로 붙입니다.\\n\\n다. 문의 기록\\n가상 문의는 제품 종류와 필요한 수량만 적습니다. 이름이나 연락처는 넣지 않습니다. 같은 제품에 대한 질문은 묶어서 살펴보고, 안내문에서 빠진 설명이 있으면 다음 샘플 문서에 보완합니다.\\n\\n라. 마감 확인\\n마감할 때는 남은 물건을 종류별로 세고 다음 입고 목록과 비교합니다. 파손된 샘플은 따로 표시하며, 마지막으로 진열대와 보관 상자를 정리합니다. 모든 예시는 직접 작성한 가상 상황입니다.\"}}];"
   }
  },
  {
   "id": "v",
   "name": "Own Simple Vector Store",
   "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
   "typeVersion": 1.3,
   "position": [
    480,
    0
   ],
   "parameters": {
    "mode": "insert",
    "memoryKey": {
     "__rl": true,
     "mode": "id",
     "value": "TEST_RECURSIVE_SPLITTER_STORE"
    },
    "clearStore": false
   }
  },
  {
   "id": "d",
   "name": "Default Data Loader",
   "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
   "typeVersion": 1.1,
   "position": [
    620,
    240
   ],
   "parameters": {
    "dataType": "json",
    "jsonMode": "allInputData",
    "textSplittingMode": "custom",
    "options": {}
   }
  },
  {
   "id": "t",
   "name": "Recursive Character Text Splitter",
   "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
   "typeVersion": 1,
   "position": [
    620,
    460
   ],
   "parameters": {
    "chunkSize": 100,
    "chunkOverlap": 20,
    "options": {}
   }
  },
  {
   "id": "e",
   "name": "Embeddings OpenAI",
   "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
   "typeVersion": 1.2,
   "position": [
    330,
    240
   ],
   "parameters": {
    "model": "text-embedding-3-small",
    "options": {
     "dimensions": 256,
     "batchSize": 16,
     "encodingFormat": "float"
    }
   }
  }
 ],
 "connections": {
  "Run manually": {
   "main": [
    [
     {
      "node": "One fictional document",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "One fictional document": {
   "main": [
    [
     {
      "node": "Own Simple Vector Store",
      "type": "main",
      "index": 0
     }
    ]
   ]
  },
  "Default Data Loader": {
   "ai_document": [
    [
     {
      "node": "Own Simple Vector Store",
      "type": "ai_document",
      "index": 0
     }
    ]
   ]
  },
  "Recursive Character Text Splitter": {
   "ai_textSplitter": [
    [
     {
      "node": "Default Data Loader",
      "type": "ai_textSplitter",
      "index": 0
     }
    ]
   ]
  },
  "Embeddings OpenAI": {
   "ai_embedding": [
    [
     {
      "node": "Own Simple Vector Store",
      "type": "ai_embedding",
      "index": 0
     }
    ]
   ]
  }
 },
 "settings": {
  "executionOrder": "v1",
  "timezone": "Asia/Seoul"
 },
 "meta": {
  "templateCredsSetupCompleted": false,
  "source": "datapopcorn.ai/workflow/nodes"
 }
}