Skip to content

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

レガシー Vectorize インデックスを移行する

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

レガシー Vectorize(V1)インデックスは、2024 年 8 月 15 日時点で非推奨化の対象です。次のいずれかに当てはまる場合、その Vectorize インデックスはレガシーインデックスです。

  1. Wrangler のバージョンが v3.71.0 より前で作成した。
  2. --deprecated-v1 フラグを有効にして作成した。
  3. レガシー REST API で作成した。

このドキュメントでは、レガシー Vectorize インデックスから移行するために必要な手順を説明します。

移行が必要な理由

レガシー Vectorize(V1)インデックスは非推奨化の対象です。これらのインデックスのサポートは限定的で、本番ワークロードでの利用は推奨しません。

また、2024 年 12 月以降は、レガシー Vectorize インデックスを新規作成できなくなります。その他の操作は影響を受けず、これまでどおり使えます。

加えて、新しい Vectorize(V2)インデックスは、はるかに大きな規模(数百万ベクトル)で動作し、性能も向上しています。Vectorize が現在サポートする機能は、Limits ページで確認できます。

主な変更点

数百万ベクトルの大きなインデックスと、より速い性能に加え、レガシー Vectorize インデックスから移行するときに考慮する変更は次のとおりです。

  1. 新しい Vectorize(V2)インデックスは、非同期のミューテーションをサポートします。ベクトルの挿入や削除、メタデータインデックスの作成や削除が反映されるまで、数秒かかることがあります。

  2. Vectorize(V2)は、はるかに大きなインデックスでも、メタデータと名前空間のフィルターを、より低いレイテンシでサポートします。ただし、メタデータフィルターを適用するフィールドは、ベクトルを挿入する前に指定する必要があります。詳細は メタデータインデックスの作成 を参照してください。

  3. Vectorize(V2)の query 操作 は、類似度の高い最大 100 件のベクトルを検索して返せます。

  4. Vectorize(V2)の query 操作は、ベクトルとあわせてメタデータを問い合わせる制御がより細かくなります。詳細は query 操作 を参照してください。

  5. Vectorize(V2)は、Wrangler(Wrangler バージョンが v3.71.0 より後)から使える Vectorize の機能を広げます。

移行

  1. Wrangler は、デフォルトで新しいバージョンの Vectorize(V2)インデックスに対する操作をサポートします。レガシー(V1)インデックス向けの Wrangler コマンドを使うには、--deprecated-v1 フラグを有効にする必要があります。このフラグがサポートするのは、インデックスの作成、取得、一覧、削除と、ベクトルの挿入だけです。

  2. 新しい Vectorize(V2)インデックスのルートとペイロード型の詳細は、REST API ページを参照してください。

  3. 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;
    }
  4. 新しい Vectorize(V2)では、query 操作returnMetadata オプションは、allindexednone のいずれかの文字列値を期待します。レガシー Vectorize(V1)では、returnMetadata オプションは boolean フィールドでした。

  5. 新しい Vectorize(V2)インデックスでは、インデックスとベクトルのミューテーションはすべて非同期で、レスポンスにそのミューテーション操作の一意の識別子として mutationId を返します。

    これらのミューテーション操作は次のとおりです。ベクトルの挿入ベクトルの UpsertID によるベクトルの削除メタデータインデックスの作成メタデータインデックスの削除

    最後に処理したミューテーションの識別子とタイムスタンプを確認するには、Vectorize の Info コマンド を使います。

役に立ちましたか?