/** * Semantic Chunker * * LLM-powered semantic chunking that groups related content together. * Uses embedding similarity to determine natural breakpoints. * Best for complex documents where meaning should drive segmentation. */ import type { BaseChunkerConfig, Chunk, Chunker, ChunkerValidationResult, SemanticChunkerConfig } from "../../types/index.js"; /** * Semantic chunker implementation * Uses embedding similarity to find natural content boundaries */ export declare class SemanticChunker implements Chunker { readonly strategy: "semantic"; chunk(text: string, config?: SemanticChunkerConfig): Promise; /** * Split text into initial segments for embedding */ private splitIntoSegments; /** * Get embeddings for segments */ private getEmbeddings; /** * Find semantic breakpoints using cosine similarity */ private findSemanticBreakpoints; /** * Group segments based on breakpoints and size limits */ private groupSegments; /** * Calculate cosine similarity between two vectors */ private cosineSimilarity; /** * Fallback to simple chunking when embeddings fail */ private fallbackChunk; validateConfig(config: BaseChunkerConfig): ChunkerValidationResult; }