Cortex AISQL Images¶
Cortex AI Imagesを使えば、以下のことが可能です。
画像の比較
画像のキャプション
画像の分類
画像からのエンティティ抽出
グラフやチャートのデータを使った質問への回答
これらのタスクは以下の関数で実行できます。
入力要件¶
COMPLETE マルチモーダルでは、以下のような特徴を持つ画像を処理することができます。
要件 |
値 |
---|---|
ファイル名の拡張子 |
|
ステージ暗号化 |
サーバー側の暗号化 |
データ型 |
注釈
ステージングされたファイルを処理することは、現在、カスタムネットワークポリシーと互換性がありません。
画像処理用ステージの作成¶
処理する画像を格納するのに適したステージを作成します。ステージにはディレクトリテーブルとサーバー側の暗号化が必要です。
以下の SQL は、適切な内部ステージを作成します。
CREATE OR REPLACE STAGE input_stage
DIRECTORY = ( ENABLE = true )
ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
次の SQL は、Amazon S3に外部ステージを作成します。Azure、 GCP の外部ステージにも対応しています。
CREATE OR REPLACE STAGE input_stage
URL='s3://<s3-path>/'
DIRECTORY = ( ENABLE = true )
CREDENTIALS = (AWS_KEY_ID = <aws_key_id>
AWS_SECRET_KEY = <aws_secret_key>)
ENCRYPTION = ( TYPE = 'AWS_SSE_S3' );
注釈
新しいファイルや更新されたファイルが利用可能になったときに、外部ステージのディレクトリテーブルを自動的に更新するには、ステージの作成時に AUTO_REFRESH = true
オプションを渡します。詳細については、 CREATE STAGE をご参照ください。
加工イメージ¶
COMPLETE 関数は、単一の画像または複数の画像を処理します(たとえば、さまざまな画像間のエンティティの違いを抽出します)。関数呼び出しでは、次のように指定します。
使用するマルチモーダルモデル
プロンプト
FILE オブジェクトを介した画像ファイルのステージパス。
単一画像の例¶
次の例では、AnthropicのClaude Sonnet 3.5モデルを使って、 @myimages
ステージに保存されている円グラフ science-employment-slide.jpeg
を要約しています。

2023年に数学が「極めて重要」と考えられる職業の分布¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
'Summarize the insights from this pie chart in 100 words',
TO_FILE('@myimages', 'science-employment-slide.jpeg'));
応答:
This pie chart shows the distribution of occupations where mathematics is considered "extremely important" in 2023.
Data scientists dominate with nearly half (48.7%) of all such positions, followed by operations research analysts
at 29.6%. The remaining positions are distributed among statisticians (7.8%), actuaries (7.2%), physicists (5.1%),
mathematicians (0.6%), and other mathematical science occupations (1.1%). This distribution highlights the growing
importance of data science in mathematics-intensive careers, while traditional mathematics roles represent a smaller
share of the workforce.
複数画像の例¶
注釈
現在、一つのプロンプトで複数の画像をリファレンスできるのは、Anthropic (claude
) と Meta (llama
) モデルだけです。他のモデルの複数画像サポートは、将来のリリースで利用可能になる可能性があります。
一度の COMPLETE 呼び出しで複数の画像を処理するには、 PROMPT ヘルパー関数 を使います。次の例では、AnthropicのClaude Sonnet 3.5モデルを使用して、 @myimages
ステージから2つの異なる広告クリエイティブを比較しています。

電気自動車の広告¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Compare this image {0} to this image {1} and describe the ideal audience for each in two concise bullets no longer than 10 words',
TO_FILE('@myimages', 'adcreative_1.png'),
TO_FILE('@myimages', 'adcreative_2.png')
));
応答:
First image ("Discover a New Energy"):
• Conservative luxury SUV buyers seeking a subtle transition to electrification
Second image ("Electrify Your Drive"):
• Young, tech-savvy urbanites attracted to bold, progressive automotive design
モデルの制限¶
Snowflake Cortex で利用可能なすべてのモデルには、モデルの コンテキストウィンドウ として知られる、入出力トークンの総数に制限があります。コンテキストウィンドウのサイズはトークン単位です。コンテキストウィンドウの制限を超える入力はエラーになります。
テキストモデルの場合、トークンは一般的に約4文字のテキストを表すため、制限に対応する単語数はトークン数よりも少なくなります。
画像モデルの場合、画像あたりのトークン数はビジョンモデルのアーキテクチャに依存します。プロンプト内のトークン(たとえば、「これは何の動物ですか」)も、モデルのコンテキストウィンドウに貢献します。
モデル |
コンテキストウィンドウ(トークン) |
ファイルタイプ |
ファイルサイズ |
プロンプトごとの画像 |
---|---|---|---|---|
|
200,000 |
.jpg、.jpeg、.png、.webp、.gif |
3.75 MB [L1] |
20 |
|
200,000 |
.jpg、.jpeg、.png、.webp、.gif |
3.75 MB [L1] |
20 |
|
200,000 |
.jpg、.jpeg、.png、.webp、.gif |
3.75 MB [L1] |
20 |
|
200,000 |
.jpg、.jpeg、.png、.webp、.gif |
3.75 MB [L1] |
20 |
|
128,000 |
.jpg、.jpeg、.png、.webp、.gif、.bmp [L2] |
10 MB |
10 |
|
128,000 |
.jpg、.jpeg、.png、.webp、.gif |
10 MB |
10 |
|
128,000 |
.jpg、.jpeg、.png、.webp、.gif、.bmp [L2] |
10 MB |
1 |
コストの考慮事項¶
請求はトークンの処理数に応じて変化します。画像あたりのトークン数はビジョンモデルのアーキテクチャに依存します。
Anthropic (
claude
) モデルの計算式は、トークン = (ピクセル幅 x ピクセル高) / 750 です。Mistral (
pixtral
) モデルは、各画像を16x16ピクセルのバッチに分割し、各バッチをトークンに変換します。トークンの総数は、おおよそ (ピクセル単位の幅 / 16) * (ピクセル単位の高さ / 16) に相当します。Meta (
llama
) モデルは、正方形のタイルで画像をタイル化しようとします。画像の縦横比とサイズによって、タイルの数は最大16個になり、それぞれが約153個のトークンで表されます。
注釈
COUNT_TOKENS 関数は現在、画像入力をサポートしていません。
ビジョンモデルの選択¶
COMPLETE 関数は、能力、遅延、コストが異なる複数のモデルをサポートしています。クレジットあたりのパフォーマンスを最適化するには、コンテンツのサイズとタスクの複雑さに合ったモデルを選択します。
モデル |
MMMU |
Mathvista |
ChartQA |
DocVQA |
VQAv2 |
---|---|---|---|---|---|
GPT-4o |
68.6 |
64.6 |
85.1 |
88.9 |
77.8 |
claude-3-5-sonnet |
68.0 |
64.4 |
87.6 |
90.3 |
70.7 |
llama-4-maverick |
73.4 |
673.7 |
90 |
94.4 |
|
llama-4-scout |
69.4 |
70.7 |
88.8 |
94.4 |
|
pixtral-large |
64.0 |
69.4 |
88.1 |
85.7 |
67 |
ベンチマークは以下の通りです。
MMMU: 大学レベルの推論を必要とする学際的なタスクでマルチモーダルモデルを評価します。
Mathvista: 視覚的な文脈の中での数学的推論のベンチマーク。
ChartQA: チャートに関する複雑な推論問題を評価します。
DocVQA と VQv2: ドキュメント上の視覚的な質問応答のためのベンチマーク。
リージョンの可用性¶
この機能のサポートは、以下のSnowflakeリージョンのアカウントでネイティブに利用可能です。
モデル
|
AWS US西部2
(オレゴン)
|
AWS US東部1
(N.バージニア)
|
AWSヨーロッパ中部1
(フランクフルト)
|
---|---|---|---|
|
✔ |
✔ |
|
|
|||
|
|||
|
|||
|
✔ |
✔ |
✔ |
|
✔ |
||
|
✔ |
COMPLETE マルチモーダルは他のリージョンでも利用可能です クロスリージョン推論。
エラー条件¶
メッセージ |
説明 |
---|---|
外部関数 SYSTEM$COMPLETE_WITH_IMAGE_INTERNAL リモートサービスエラーでリクエストに失敗しました: 400 '"無効な画像パス" |
ファイル拡張子またはファイル自体のいずれかがモデルで受け入れられません。このメッセージは、ファイルパスが間違っている、つまり指定された場所にファイルが存在しないことを意味する場合もあります。ファイル名は大文字と小文字を区別します。 |
セキュアオブジェクトのエラー |
ステージが存在しない可能性があります。ステージ名を確認し、ステージが存在し、アクセス可能であることを確認します。ステージパスの先頭には、 |
リモートサービスエラーで外部関数 _COMPLETE_WITH_PROMPT のリクエストに失敗しました: 400 '"リクエストパラメーターが無効です: サポート対象外のイメージ形式: イメージ/** |
|
リモートサービスエラーで外部関数 _COMPLETE_WITH_PROMPT のリクエストに失敗しました: 400 '"リクエストパラメーターが無効です: 画像データが5.00 MB を超えました" |
|
リーガル¶
インプットとアウトプットのデータ分類は以下の表の通りです。
入力データの分類 |
出力データの分類 |
指定 |
---|---|---|
Usage Data |
Customer Data |
一般的に利用可能な関数は、カバーされている AI 機能です。プレビュー関数は、 AI 機能をプレビューします。 [1] |
詳細については、 Snowflake AI と ML をご参照ください。