@tpmjs/tools-text-chunk
Split text into chunks by size with sentence boundary awareness. Useful for processing large documents, preparing text for embeddings, or breaking content into manageable pieces. Uses intelligent sentence detection to avoid breaking mid-sentence when possible.
Test @tpmjs/tools-text-chunk (textChunkTool) with AI-powered execution
0/2000 characters
Install this tool and use it with the AI SDK
npm install @tpmjs/tools-text-chunkpnpm add @tpmjs/tools-text-chunkyarn add @tpmjs/tools-text-chunkbun add @tpmjs/tools-text-chunkdeno add npm:@tpmjs/tools-text-chunkimport { textChunkTool } from '@tpmjs/tools-text-chunk';import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { textChunkTool } from '@tpmjs/tools-text-chunk';
const result = await generateText({
model: openai('gpt-4o'),
tools: { textChunkTool },
prompt: 'Your prompt here...',
});
console.log(result.text);Available configuration options
textstringThe text to split into chunks
maxChunkSizenumberMaximum size of each chunk in characters (must be > 0)
overlapnumberNumber of characters to overlap between chunks (default: 0, must be < maxChunkSize)
Schema extracted: 1/1/2026, 8:18:37 AM
Split text into chunks by size or sentence boundaries with optional overlap.
npm install @tpmjs/tools-text-chunk
import { textChunkTool } from '@tpmjs/tools-text-chunk'; // Use with AI SDK const result = await textChunkTool.execute({ text: 'Your long text here...', maxChunkSize: 500, overlap: 50, }); console.log(result.chunks); // [ // { text: '...', startIndex: 0, endIndex: 500, chunkIndex: 0 }, // { text: '...', startIndex: 450, endIndex: 950, chunkIndex: 1 }, // ... // ]
sbd library for intelligent sentence detectiontext (string, required): The text to split into chunksmaxChunkSize (number, required): Maximum size of each chunk in charactersoverlap (number, optional): Number of characters to overlap between chunks (default: 0){ chunks: Array<{ text: string; startIndex: number; endIndex: number; chunkIndex: number; }>; chunkCount: number; totalLength: number; metadata: { averageChunkSize: number; maxChunkSize: number; overlap: number; }; }
import { openai } from '@ai-sdk/openai'; import { generateText } from 'ai'; import { textChunkTool } from '@tpmjs/tools-text-chunk'; const result = await generateText({ model: openai('gpt-4'), tools: { textChunk: textChunkTool, }, prompt: 'Split this document into 500-character chunks with 50 character overlap: ...', });
MIT
Downloads/month
0
Quality Score