RAG テキストチャンカー

文書を貼り付けると、各チャンクの開始位置と終了位置、重なっている範囲、おおよそのトークン数が分かります。計算はすべてブラウザ内で行われ、アップロードや埋め込み生成はありません。

ブラウザ内でローカルに実行
チャンキングとトークン見積もりはローカルで実行されます。ドキュメントの内容はアップロード、埋め込み、モデルへの送信を一切行いません。
ソースドキュメント

埋め込みを作成する前にチャンク境界を調整

チャンクサイズとオーバーラップは、検索の再現率、コンテキストの重複、コストに影響します。このプレビューは透過的なヒューリスティックを使用します。本番で使用する前に、生成されたチャンクを代表的な質問に対して評価してください。

「RAG テキストチャンカー」の使い方

文書を再現性のある検索単位に分割します。文字数、単語、文、Markdown 見出しセクションの 4 つの戦略と、隣り合うチャンク間で引き継ぐオーバーラップを指定できます。

処理はすべてページ内で完結します。境界、文字数とトークンの推定、JSONL 出力は貼り付けたテキストだけから計算し、埋め込みモデルや外部サービスへの送信は行いません。

  1. ソース欄に文書を貼り付け、戦略(文字・単語・文・Markdown セクション)を選びます。
  2. その戦略の単位でチャンクサイズとオーバーラップを指定します。オーバーラップはサイズより小さくしてください。
  3. 「ドキュメントを分割」を押すと、パイプラインに全チャンクが順番に並び、詳細カードに選択中チャンクの文字範囲と推定トークンが表示されます。
  4. 「JSONL をコピー」を押すと、id・text・範囲・推定トークンを含む JSON オブジェクトを 1 行ずつ書き出せます。

背景と精度

各戦略が分割する単位

文字は Unicode の書記素クラスタ単位なので、絵文字の国旗、ZWJ でつながる家族絵文字、結合文字が途中で切れることはありません。単語は空白で区切られたトークンで、CJK の文字は 1 文字を 1 単語として数えるため、空白のない中国語・日本語の段落も分割できます。

文は . ! ? と全角の 。!? で区切ります。句読点のない行も切り捨てず、そのまま 1 単位として残します。Markdown セクションは ATX 見出し(#〜######)で始まり、コードフェンス内の見出しは無視するので、``` ブロック内のシェルコメントがセクション境界になることはありません。

境界・オーバーラップ・推定値

各チャンクは先頭と末尾の空白を除いた範囲に揃え、表示される範囲は本文と正確に一致します。オーバーラップ N では、2 つ目以降のチャンクが直前チャンクの末尾 N 単位を繰り返し、境界付近の情報を保護します。

トークン数は推定値であり、トークナイザーそのものではありません。CJK 文字は約 1.05 トークン、それ以外は約 4 文字で 1 トークンとして計算します。戦略の比較に使い、実際のトークン数は使用するモデルのトークナイザーで測ってください。

JSONL 出力の使い方

「JSONL をコピー」は id・text・start・end・estimated_tokens を持つオブジェクトを読み順に 1 行ずつ出力します。範囲は貼り付けた元テキストを指すため、重なったチャンクも元文書に対応付けられます。

出力は埋め込みパイプラインにそのまま渡せますが、このページは埋め込みを生成せず、テキストも送信しません。JSONL はローカルに保管するか、利用する予定のサービスにのみ送ってください。

最近使ったツール: