このセクションでは、ベクトル エンベディングの保存、インデックス登録、クエリをサポートするように Cloud SQL インスタンスを構成する方法について説明します。
Cloud SQL Enterprise エディションと Cloud SQL Enterprise Plus エディションの両方のインスタンスがベクトル エンベディングをサポートしています。MySQL 8.0.36 以降のすべてのバージョンがサポートされています。
始める前に
ユーザー アカウントに Cloud SQL 管理者と Compute 閲覧者のロールがあることを確認します。
詳細については、ロールと権限をご覧ください。
ベクトル エンベディングのデータベース フラグを有効にする
ベクトル エンベディングのサポートを有効にするには、MySQL データベース フラグを有効にする必要があります。
gcloud sql instances patch INSTANCE_NAME \
--database-flags=FLAGS
次のように置き換えます。
- INSTANCE_NAME: ベクトル エンベディングのサポートを有効にするインスタンスの名前。
FLAGS: インスタンスに次の MySQL フラグを構成します。
cloudsql_vector
: このフラグをon
に設定すると、ベクトル エンベディングの保存とベクトル類似検索のサポートが有効になります。このフラグはデフォルトでオフになっています。フラグを構成すると、コマンドは次のようになります。gcloud sql instances patch my-instance \ --database-flags=cloudsql_vector=on
cloudsql_vector
フラグは静的です。フラグを使用してインスタンスを更新すると(フラグをオンまたはオフにすることで)、構成の変更を有効にするためにインスタンスが自動的に再起動します。
MySQL のデータベース フラグを構成する方法については、データベース フラグを構成するをご覧ください。
ベクトル エンベディングを無効にする
インスタンスでベクトル エンベディングを無効にする前に、インスタンス上のすべてのベクトル インデックスを明示的に削除する必要があります。インスタンスのベクトル インデックスのリストを取得する方法については、ベクトル インデックスをモニタリングするをご覧ください。
ベクトル エンベディングのサポートを無効にすると、新しいベクトル エンベディング列とベクトル インデックスを作成できなくなります。また、ベクトル検索に approx_distance
関数を使用することもできません。ベクトル エンベディングのサポートを無効にするには、cloudsql_vector
フラグを off
に設定します。この静的フラグを構成すると、構成変更が有効になるようにインスタンスが自動的に再起動します。
ベクトル エンベディングのサポートを無効にするには、cloudsql_vector
フラグを off
に設定します。
次に例を示します。
gcloud sql instances patch INSTANCE_NAME \
--database-flags=cloudsql_vector=off
INSTANCE_NAME は、ベクトル エンベディングのサポートを無効にするインスタンスの名前に置き換えます。
次のステップ
- Cloud SQL でのベクトル検索の概要を確認する。
- ベクトル エンベディングを生成する方法を学習する。
- ベクトル インデックスを作成する方法を確認する。
- ベクトル エンベディングで検索を行う方法を学習する。