embeddings-splitter
Version:
A typescript library to split your long texts into smaller chunks to send them to OpenAI Embeddings API
51 lines (50 loc) • 2.07 kB
TypeScript
import type * as tiktoken from "@dqbd/tiktoken";
import { Document } from "./document.js";
interface TextSplitterParams {
chunkSize: number;
chunkOverlap: number;
}
export declare abstract class TextSplitter implements TextSplitterParams {
chunkSize: number;
chunkOverlap: number;
constructor(fields?: Partial<TextSplitterParams>);
abstract splitText(text: string): Promise<string[]>;
createDocuments(texts: string[], metadatas?: Record<string, any>[]): Promise<Document[]>;
splitDocuments(documents: Document[]): Promise<Document[]>;
private joinDocs;
mergeSplits(splits: string[], separator: string): string[];
}
export interface CharacterTextSplitterParams extends TextSplitterParams {
separator: string;
}
export declare class CharacterTextSplitter extends TextSplitter implements CharacterTextSplitterParams {
separator: string;
constructor(fields?: Partial<CharacterTextSplitterParams>);
splitText(text: string): Promise<string[]>;
}
export interface RecursiveCharacterTextSplitterParams extends TextSplitterParams {
separators: string[];
}
export declare class RecursiveCharacterTextSplitter extends TextSplitter implements RecursiveCharacterTextSplitterParams {
separators: string[];
constructor(fields?: Partial<RecursiveCharacterTextSplitterParams>);
splitText(text: string): Promise<string[]>;
}
export interface TokenTextSplitterParams extends TextSplitterParams {
encodingName: tiktoken.TiktokenEmbedding;
allowedSpecial: "all" | Array<string>;
disallowedSpecial: "all" | Array<string>;
}
/**
* Implementation of splitter which looks at tokens.
*/
export declare class TokenTextSplitter extends TextSplitter implements TokenTextSplitterParams {
encodingName: tiktoken.TiktokenEmbedding;
allowedSpecial: "all" | Array<string>;
disallowedSpecial: "all" | Array<string>;
private tokenizer;
constructor(fields?: Partial<TokenTextSplitterParams>);
splitText(text: string): Promise<string[]>;
static imports(): Promise<typeof tiktoken>;
}
export {};