UNPKG

@jackhua/mini-langchain

Version:

A lightweight TypeScript implementation of LangChain with cost optimization features

50 lines 1.38 kB
/** * Base text splitter interface */ import { Document } from '../core/types'; /** * Text splitter interface */ export interface TextSplitterParams { chunkSize: number; chunkOverlap: number; lengthFunction?: (text: string) => number; keepSeparator?: boolean; addStartIndex?: boolean; } /** * Base text splitter */ export declare abstract class BaseTextSplitter { protected chunkSize: number; protected chunkOverlap: number; protected lengthFunction: (text: string) => number; protected keepSeparator: boolean; protected addStartIndex: boolean; constructor(params: TextSplitterParams); /** * Split text into chunks */ abstract splitText(text: string): Promise<string[]>; /** * Create documents from text chunks */ createDocuments(texts: string[], metadatas?: Record<string, any>[]): Promise<Document[]>; /** * Split documents */ splitDocuments(documents: Document[]): Promise<Document[]>; /** * Merge splits that fit within chunk size */ protected mergeSplits(splits: string[], separator: string): string[]; /** * Join documents with separator */ protected joinDocs(docs: string[], separator: string): string; /** * Get start index of chunk in original text */ private getStartIndex; } //# sourceMappingURL=base.d.ts.map