Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

チャンク分割

最終更新 Markdown で表示Agent セットアップ

チャンク分割は、検索用に埋め込む前に、大きなデータを小さな区間へ分ける処理です。AI Search は 再帰的チャンク分割 を使います。段落や文など自然な区切りでコンテンツを切り、チャンクが大きすぎる場合はさらに分割します。

再帰的チャンク分割とは

再帰的チャンク分割は、チャンクの意味を保つために次を行います。

  • 自然な区切りで分割する: まず段落、次に文で切ります。
  • サイズを確認する: トークン数で見てチャンクが長すぎる場合は、さらに小さな部分へ分割します。

こうすると、文の途中で思考を切らずに、埋め込みと検索がしやすいチャンクになります。

チャンク分割の設定

AI Search では、チャンク分割の動きを制御する 2 つのパラメーターを公開しています。

  • チャンクサイズ: 1 チャンクあたりのトークン数です。選べる範囲はモデルによって異なります。
  • チャンクのオーバーラップ: 隣接するチャンク間で重なるトークンの割合です。
    • 最小: 0%
    • 最大: 30%

これらの設定はインデックス作成の段階で適用されます。データが埋め込まれて検索インデックスへ保存される前です。

チャンクサイズとオーバーラップの選び方

チャンク分割は、コンテンツの取得方法と、生成モデルへ渡すコンテキスト量の両方に影響します。チャンク設定の違いを把握するには、外部の chunk visualizer tool を試してください。

そのほかの考慮事項:

  • インデックスサイズ: チャンクサイズを小さくすると、チャンク数とベクトル総数が増えます。AI Search の制限 を確認し、インスタンスの制限内に収まるようにします。
  • 生成モデルのコンテキストウィンドウ: 生成モデルのコンテキストウィンドウには、取得したチャンク(max_num_results × チャンクサイズ)、利用者のクエリ、モデルの出力がすべて収まる必要があります。大きなチャンクや高い max_num_results は、コンテキスト超過に注意してください。
  • コストとパフォーマンス: 大きなチャンクと高い max_num_results は、モデルへ渡すトークンが増え、レイテンシとコストが上がることがあります。この使用量は AI Gateway で監視できます。

役に立ちましたか?