フィードバックを送信
Cloud SQL 関数
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
MySQL
| PostgreSQL
| SQL Server
このページでは、Cloud SQL 関数について説明します。
ベクトル変換関数
次の表に、SELECT
ステートメントでベクトル情報を操作するために使用できる関数を示します。
ファンクション
説明
vector_to_string
入力: VECTOR
出力: STRING
引数を、人が読めるベクトル形式の文字列に変換します。入力: VECTOR
型の引数 1 つ
出力: 文字列
構文:
vector_to_string(some_embedding )
string_to_vector
入力: STRING
出力: VECTOR
文字列を、人が読めるベクター形式に変換します。これにより、ベクトルで表す値を記述できます。入力: 文字列
構文:
string_to_vector('some_embedding ')
出力: ベクトル型の値 1 つ。
検索関数
このセクションでは、Cloud SQL 検索関数について説明します。
KNN 関数
次の表に、KNN ベクトル距離の計算に使用できる関数を示します。
ファンクション
データの種類
説明
vector_distance
入力: VECTOR
出力: REAL
2 つの VECTOR
間のベクトル距離を計算します。2 つの VECTOR
は同じディメンションにする必要があります。入力 : 必須。2 つのベクトル値を取ります。3 番目の文字列引数(省略可)は距離の測定単位を示します。デフォルトは「l2_squared_distance」です。他のオプションには、cosine_distance と dot_product があります。
出力 : 2 つのベクトル間の距離。
次に例を示します。
SELECT vector_distance(string_to_vector('[1,-2,3]'), string_to_vector('[1,2,3]'), 'Distance_Measure=dot_product');
cosine_distance
入力: VECTOR
出力: REAL
2 つのベクトル間の角度のコサインを計算するアルゴリズム。値が小さいほど、ベクトル間の類似度が高くなります。入力 : 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力 : 2 つのベクトル間のコサイン距離。
次に例を示します。
SELECT cosine_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY cosine_distance(string_to_vector('[1,2,3]'), embedding_column_name)
LIMIT 10;
dot_product
入力: VECTOR
出力: REAL
2 つの入力ベクトルの間のドット積演算を実行して、単一のスカラー値を計算して出力するアルゴリズム。入力 : 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力 : 2 つのベクトルの内積。
次に例を示します。
SELECT dot_product(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id FROM t1 ORDER BY dot_product(string_to_vector('[1,2,3]'), embbeding_column_name) LIMIT 10;
l2_squared_distance
入力: VECTOR
出力: REAL
2 つの入力ベクトル間の各ディメンションの距離の二乗を加算して、それらの間のユークリッド距離を測定するアルゴリズム。入力 : 2 つのベクトル値を受け取ります。これらは列名または定数にできます。
出力 : 2 つのベクトル間の L2 二乗距離。
次に例を示します。
SELECT l2_squared_distance(string_to_vector('[1,2,3]'), string_to_vector('[1,1,1]'));
SELECT id
FROM t1
ORDER BY l2_squared_distance(string_to_vector('[1,2,3]'), embbeding_column_name)
LIMIT 10;
ANN 関数
次の表に、ベクトル距離の計算に使用できる関数を示します。
関数
データ型
説明
approx_distance
入力: VECTOR
出力: REAL
選択したアルゴリズムを使用して、距離測定値を満たす上位 K 個の最も近い行を見つけます。この関数は、ベクトル列から定数値への近似最近傍をクエリします。2 つのエンベディング列の VECTOR
型と定数 VECTOR
は同じディメンションである必要があります。この関数は、ANN 検索ではなく KNN(完全一致検索)検索にフォールバックする場合があります。この関数を使用するクエリには、上限を含める必要があります。構文:
approx_distance(embedding_name ,
query_vector ,
'distance_measure=algorithm_name
[, num_leaves_to_search=value ]'
入力:
embedding_name: ベーステーブルのベクトル エンベディング列名。
query_vector: string_to_vector
の出力(必須ではありません)にできる「VECTOR」型の定数。
カンマ区切りの検索文字列のオプションは次のとおりです。
次に例を示します。
'distance_measure=dot_product,
num_leaves_to_search=100'
必須の LIMIT 値: 指定された上限は、返される近傍の数(上位 K とも呼ばれます)として使用されます。
出力 : ベーステーブルで最も近い上位 K 行の近似距離。
この関数は、ORDER BY
リストまたは SELECT
リストでのみ使用できます。
次に例を示します。
SELECT id, approx_distance(embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=cosine') dist from t1
ORDER BY dist LIMIT 10;
SELECT id
FROM t1
ORDER BY
approx_distance(
embedding_column_name
string_to_vector('[1,1,1]'),
'distance_measure=dot_product,num_leaves_to_search=100) LIMIT 4;
次のステップ
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-02-26 UTC。
ご意見をお聞かせください
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-02-26 UTC。"],[],[]]