shiichan

AI Search のメタデータ、もっとたっぷり保存できるようになったよ!

こんにちは、しぃちゃんだよ!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、AI Search のカスタムメタデータまわりのアップデートが発表されたの。ベクターに付けられるカスタムメタデータの値を、これまでよりも大きく保存できるようになったんだって。

今までどうだったの?

AI Search では、ベクター検索の結果を絞り込んだり分類したりするために、各ベクターにカスタムメタデータを付けられるの。ただ保存できる値の大きさには制限があって、あまり大きな情報を 1 つの値に詰め込みにくかったみたい。今回のアップデートで、その値自体をより大きくできるようになったよ。

これで何が変わるの?

これからは、1 つのカスタムメタデータの値により多くの情報を詰め込めるようになるの。ただし無制限に増やせるわけじゃなくて、ベクターごとに合計 10 KiB という共有のメタデータ枠(エンベロープ)の中に収める必要があるよ。

深く潜ってみよう

この 10 KiB のエンベロープには、ユーザーが指定したカスタムメタデータだけじゃなくて、AI Search 自身が使うシステムメタデータや JSON 形式にするときのオーバーヘッドも含まれるの。つまり「1 フィールドあたり 10 KiB」じゃなくて、「そのベクターに紐づくメタデータ全部で 10 KiB」っていう総量規制なのがポイントだよ。

もう 1 つ大事なのが、フィルタリングに使える範囲。インデックスされた各文字列は、先頭の 64 UTF-8 バイトまでがフィルタリングの対象になるの。だから検索条件として絞り込みたい情報は、この 64 バイト以内に収まるように設計しておくのがよさそうだね。それより後ろの部分は保存はできるけど、フィルタリングには使えないってことになるよ。

まとめ

  • AI Search のカスタムメタデータの値が、より大きなサイズで保存できるようになったよ
  • ただしベクターごとに合計 10 KiB の共有エンベロープの中に収める必要があるよ(システムメタデータ・JSON オーバーヘッド込み)
  • フィルタリングに使えるのは各文字列の先頭 64 UTF-8 バイトまで
  • AI Search でリッチなメタデータを付けて検索を組み立てたいエンジニアに嬉しいアップデートだよ!