UNPKG

@n8n/n8n-nodes-langchain

Version:

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

79 lines 3.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TextSplitterCharacterTextSplitter = void 0; const textsplitters_1 = require("@langchain/textsplitters"); const n8n_workflow_1 = require("n8n-workflow"); const ai_utilities_1 = require("@n8n/ai-utilities"); class TextSplitterCharacterTextSplitter { constructor() { this.description = { displayName: 'Character Text Splitter', name: 'textSplitterCharacterTextSplitter', icon: 'node:character-text-splitter', iconColor: 'black', group: ['transform'], version: 1, description: 'Split text into chunks by characters', defaults: { name: 'Character Text Splitter', }, codex: { categories: ['AI'], subcategories: { AI: ['Text Splitters'], }, resources: { primaryDocumentation: [ { url: 'https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.textsplittercharactertextsplitter/', }, ], }, }, inputs: [], outputs: [n8n_workflow_1.NodeConnectionTypes.AiTextSplitter], outputNames: ['Text Splitter'], properties: [ (0, ai_utilities_1.getConnectionHintNoticeField)([n8n_workflow_1.NodeConnectionTypes.AiDocument]), { displayName: 'Separator', name: 'separator', type: 'string', default: '', }, { displayName: 'Chunk Size', name: 'chunkSize', type: 'number', default: 1000, description: 'Maximum number of characters per chunk', }, { displayName: 'Chunk Overlap', name: 'chunkOverlap', type: 'number', default: 0, description: 'Number of characters shared between consecutive chunks to preserve context', }, ], }; } async supplyData(itemIndex) { this.logger.debug('Supply Data for Text Splitter'); const separator = this.getNodeParameter('separator', itemIndex); const chunkSize = this.getNodeParameter('chunkSize', itemIndex); const chunkOverlap = this.getNodeParameter('chunkOverlap', itemIndex); const params = { separator, chunkSize, chunkOverlap, keepSeparator: false, }; const splitter = new textsplitters_1.CharacterTextSplitter(params); return { response: (0, ai_utilities_1.logWrapper)(splitter, this), }; } } exports.TextSplitterCharacterTextSplitter = TextSplitterCharacterTextSplitter; //# sourceMappingURL=TextSplitterCharacterTextSplitter.node.js.map