AI_SIMILARITY¶
入力の埋め込みベクトルのベクトルのコサイン類似度値に基づいて類似度スコアを計算します。現在、テキストと画像の類似度計算の両方をサポートしています。
構文¶
文字列や画像の入力に AI_SIMILARITY を適用:
AI_SIMILARITY( <input1>, <input2> )
configオブジェクトを指定:
AI_SIMILARITY( <input1>, <input2>, <config_object> )
引数¶
必須:
入力文字列を指定する場合:
input1
、{input2}
類似度スコアの計算するために比較および使用しているテキストを含む文字列。
入力画像を指定する場合:
input1
、input2
比較する画像を参照している FILE データ型。
注釈
AI_SIMILARITY はテキスト入力と画像入力の類似度計算をサポートしていません。
オプション:
config_object
モデルの構成に使用されるキー値ペアを含む OBJECT。
キー |
型 |
デフォルト |
説明 |
---|---|---|---|
|
STRING 入力の場合、デフォルトは |
埋め込みに使用される埋め込みモデル。サポートされる値は次のとおりです。
|
戻り値¶
入力に対する2つの埋め込みベクトル間のベクトル類似度を使用して計算された類似度スコアを表す-1から1までの範囲のfloat値を返します。
アクセス制御の要件¶
ユーザーは、 SNOWFLAKE.CORTEX_USER データベースロール が付与されているロールを使用する必要があります。この権限の詳細については、 必要な権限 をご参照ください。
例¶
AI_SIMILARITY: テキスト¶
この例では、関数は2つのステートメント入力 'I like this dish'
と 'This dish is very good'
の間の類似度スコアを計算しています。
SELECT AI_SIMILARITY('I like this dish', 'This dish is very good');
テキスト列の類似度を計算することもできます。
SELECT
review
FROM restaurant_reviews
ORDER BY SNOWFLAKE.CORTEX.AI_SIMILARITY(review, 'I love the food here!');
AI_SIMILARITY: 画像¶
この例では、関数はSnowflakeステージ @file_stage
に格納された2つの画像 cat.jpg
と 2cats.jpg
の間の類似度スコアを計算します。
SELECT AI_SIMILARITY(TO_FILE('@file_stage', 'cat.jpg'), TO_FILE('@file_stage', '2cats.jpg'));
また、画像を含むステージのSnowflakeディレクトリテーブルを使用して、画像間の類似度を計算することもできます。
SELECT
to_file('@file_stage', relative_path)
FROM directory(@file_stage)
WHERE snowflake.cortex.ai_similarity(f, to_file(@file_stage, 'cat.jpg')) >= 0.5;
制限事項¶
Snowflake AI 関数は、動的テーブルのインクリメンタルリフレッシュをサポートしていません。
Snowflake AI 関数は、以下のタイプのステージファイルから作成された FILEs では動作しません。
暗号化モード
TYPE = 'SNOWFLAKE_FULL'
付き内部ステージ顧客側の暗号化モードを持つ外部ステージ:
TYPE = 'AWS_CSE'
TYPE = 'AZURE_CSE'
ユーザーステージ、テーブルステージ
名前が二重引用符で囲まれているステージ