feyninc/chonkiejs
🦛 CHONK your texts with Chonkie ✨ Type-friendly, light-weight, fast and super-simple chunking library
What it solves
Chonkiejsは、TypeScript開発者のための軽量で効率的なテキストチャンク分割ライブラリです。Retrieval-Augmented Generation (RAG) アプリケーションで使用するために、大きなテキストを小さく管理しやすい断片(チャンク)に分割する問題を解決し、既存の重いライブラリに代替わる、より柔軟で高速な選択肢を提供します。
How it works
このライブラリは、異なる種類のコンテンツを処理するために、いくつかの専門的なチャンク分割戦略を提供します:
- Recursive Chunking: 段落、文、句読点、単語、文字の階層的なルールを使用してテキストを分割し、文脈を維持します。
- Token-based Chunking: テキストを固定サイズのトークンチャンクに分割します(オプションでオーバーラップ可能)。
- Sentence Chunking: 文の境界を尊重しながら、文をトークンサイズのチャンクにグループ化します。
- Semantic Chunking: スライディングウィンドウ方式の文の間の埋め込み(embedding)の類似度を使用して、自然な境界を検出し、「低類似度バレー」で分割します。
- Code Chunking: ソースコードに対して、tree-sitter を介した AST-aware な分割を行います。
- Table Chunking: Markdown または HTML のテーブルを、元のヘッダーを繰り返しながらサブテーブルに分割します。
- Fast Chunking: WASMを活用した、最大速度を実現するための高スループットなバイトベースのチャンカーです。
Who it’s for
TypeScriptでRAGアプリケーション、または高速かつ即時的なテキスト前処理とチャンク分割が必要なアプリケーションを構築している開発者。
Highlights
- Diverse Chunking Methods: 再帰的、トークン、文、セマンティック、および専門的なコード/テーブル分割をサポート。
- Type-Safe: オリジナルの Python
chonkieライブラリの TypeScript ポート。 - Lighweight: 依存関係のないコアパッケージで、実用的かつ効率的に設計されています。
- HuggingFace Integration:
@chonkiejs/tokenを介して HuggingFace tokenizer のオプションサポートを提供。 - Cloud Integration:
@chonkiejs/cloudを介してクラウドベースのチャンカーを提供。