このページでは、Cloud SQL 関数について説明します。
ベクトル変換関数
次の表に、SELECT ステートメントでベクトル情報の操作に使用できる関数を示します。
| 関数 | 説明 | |
| vector_to_string | 入力: VECTOR 出力: STRING |
引数を、人が読めるベクトル形式の文字列に変換します。 入力: 出力: 文字列 構文:
|
| string_to_vector | 入力: STRING 出力: VECTOR |
文字列を、人が読めるベクトル形式に変換します。これにより、ベクトルで表す値を記述できます。 入力: 文字列 構文:
出力: ベクトル型の 1 つの値。 |
検索関数
このセクションでは、Cloud SQL 検索関数について説明します。
KNN 関数
次の表に、KNN ベクトル距離の計算に使用できる関数を示します。
| 関数 | データ型 | 説明 |
| vector_distance | 入力: VECTOR 出力: REAL |
2 つの VECTOR 間のベクトル距離を計算します。2 つの VECTOR は同じディメンションにする必要があります。入力: 必須。2 つのベクトル値を取ります。3 番目の文字列引数(省略可)は距離の測定値を示します。デフォルトは「l2_squared_distance」です。他のオプションには、cosine_distance と dot_product があります。 出力: 2 つのベクトル間の距離。 例:
|
| cosine_distance | 入力: VECTOR 出力: REAL |
2 つのベクトル間の角度のコサインを計算するアルゴリズム。値が小さいほど、ベクトル間の類似度が高くなります。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。 出力: 2 つのベクトル間のコサイン距離。 例:
|
| dot_product | 入力: VECTOR 出力: REAL |
2 つの入力ベクトルの間のドット積演算を実行して、単一のスカラー値を計算して出力するアルゴリズム。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。 出力: 2 つのベクトル積。 例:
|
| l2_squared_distance | 入力: VECTOR 出力: REAL |
2 つの入力ベクトル間の各ディメンションの二乗距離を加算して、それらの間のユークリッド距離を測定するアルゴリズム。 入力: 2 つのベクトル値を受け取ります。これらは列名または定数にできます。 出力: 2 つのベクトル間の L2 二乗距離。 例:
|
ANN 関数
次の表に、ベクトル距離の計算に使用できる関数を示します。
| 関数 | データ型 | 説明 |
| approx_distance | 入力: VECTOR 出力: REAL |
選択したアルゴリズムを使用して、距離の測定値を満たす Top-K の最も近い行を見つけます。この関数は、ベクトル列から定数値への近似最近傍をクエリします。2 つのエンベディング列の VECTOR 型と定数 VECTOR は同じディメンションである必要があります。この関数は、ANN 検索ではなく KNN(完全一致検索)検索にフォールバックする場合があります。この関数を使用するクエリには、上限を含める必要があります。構文:
入力:
|
次のステップ
- Cloud SQL でのベクトル検索の概要を確認する。
- インスタンスでベクトル エンベディングを有効または無効にする方法を学習する。
- ベクトル エンベディングを生成する方法を確認する。
- ベクトル インデックスを作成する方法を確認する。
- ベクトル エンベディングで検索を実行する方法を確認する。