レガシー Vectorize(V1)インデックスは、2024 年 8 月 15 日時点で非推奨化の対象です。次のいずれかに当てはまる場合、その Vectorize インデックスはレガシーインデックスです。
- Wrangler のバージョンが
v3.71.0より前で作成した。 --deprecated-v1フラグを有効にして作成した。- レガシー REST API で作成した。
このドキュメントでは、レガシー Vectorize インデックスから移行するために必要な手順を説明します。
レガシー Vectorize(V1)インデックスは非推奨化の対象です。これらのインデックスのサポートは限定的で、本番ワークロードでの利用は推奨しません。
また、2024 年 12 月以降は、レガシー Vectorize インデックスを新規作成できなくなります。その他の操作は影響を受けず、これまでどおり使えます。
加えて、新しい Vectorize(V2)インデックスは、はるかに大きな規模(数百万ベクトル)で動作し、性能も向上しています。Vectorize が現在サポートする機能は、Limits ページで確認できます。
数百万ベクトルの大きなインデックスと、より速い性能に加え、レガシー Vectorize インデックスから移行するときに考慮する変更は次のとおりです。
-
新しい Vectorize(V2)インデックスは、非同期のミューテーションをサポートします。ベクトルの挿入や削除、メタデータインデックスの作成や削除が反映されるまで、数秒かかることがあります。
-
Vectorize(V2)は、はるかに大きなインデックスでも、メタデータと名前空間のフィルターを、より低いレイテンシでサポートします。ただし、メタデータフィルターを適用するフィールドは、ベクトルを挿入する前に指定する必要があります。詳細は メタデータインデックスの作成 を参照してください。
-
Vectorize(V2)の query 操作 は、類似度の高い最大 100 件のベクトルを検索して返せます。
-
Vectorize(V2)の query 操作は、ベクトルとあわせてメタデータを問い合わせる制御がより細かくなります。詳細は query 操作 を参照してください。
-
Vectorize(V2)は、Wrangler(Wrangler バージョンが
v3.71.0より後)から使える Vectorize の機能を広げます。
-
Wrangler は、デフォルトで新しいバージョンの Vectorize(V2)インデックスに対する操作をサポートします。レガシー(V1)インデックス向けの Wrangler コマンドを使うには、
--deprecated-v1フラグを有効にする必要があります。このフラグがサポートするのは、インデックスの作成、取得、一覧、削除と、ベクトルの挿入だけです。 -
新しい Vectorize(V2)インデックスのルートとペイロード型の詳細は、REST API ページを参照してください。
-
Workers で新しいバージョンの Vectorize インデックスを使うには、環境バインディングを
Vectorizeインターフェイスとして定義する必要があります。export interface Env { // This makes your vector index methods available on env.VECTORIZE.* // For example, env.VECTORIZE.insert() or query() VECTORIZE: Vectorize; }Vectorizeインターフェイスには、型の変更と、新しい Vectorize(V2)インデックスがサポートする機能が含まれます。レガシー Vectorize(V1)インデックスでは、
VectorizeIndexインターフェイスを使います。export interface Env { // This makes your vector index methods available on env.VECTORIZE.* // For example, env.VECTORIZE.insert() or query() VECTORIZE: VectorizeIndex; } -
新しい Vectorize(V2)では、query 操作 の
returnMetadataオプションは、all、indexed、noneのいずれかの文字列値を期待します。レガシー Vectorize(V1)では、returnMetadataオプションは boolean フィールドでした。 -
新しい Vectorize(V2)インデックスでは、インデックスとベクトルのミューテーションはすべて非同期で、レスポンスにそのミューテーション操作の一意の識別子として
mutationIdを返します。これらのミューテーション操作は次のとおりです。ベクトルの挿入、ベクトルの Upsert、ID によるベクトルの削除、メタデータインデックスの作成、メタデータインデックスの削除。
最後に処理したミューテーションの識別子とタイムスタンプを確認するには、Vectorize の Info コマンド を使います。