Cortex AISQL Images

Cortex AI Imagesを使えば、以下のことが可能です。

  • 画像の比較

  • 画像のキャプション

  • 画像の分類

  • 画像からのエンティティ抽出

  • グラフやチャートのデータを使った質問への回答

これらのタスクは以下の関数で実行できます。

入力要件

COMPLETE マルチモーダルでは、以下のような特徴を持つ画像を処理することができます。

要件

ファイル名の拡張子

.jpg.jpeg.png.webp.gif

ステージ暗号化

サーバー側の暗号化

データ型

FILE

注釈

ステージングされたファイルを処理することは、現在、カスタムネットワークポリシーと互換性がありません。

画像処理用ステージの作成

処理する画像を格納するのに適したステージを作成します。ステージにはディレクトリテーブルとサーバー側の暗号化が必要です。

以下の SQL は、適切な内部ステージを作成します。

CREATE OR REPLACE STAGE input_stage
    DIRECTORY = ( ENABLE = true )
    ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
Copy

次の 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' );
Copy

注釈

新しいファイルや更新されたファイルが利用可能になったときに、外部ステージのディレクトリテーブルを自動的に更新するには、ステージの作成時に AUTO_REFRESH = true オプションを渡します。詳細については、 CREATE STAGE をご参照ください。

加工イメージ

COMPLETE 関数は、単一の画像または複数の画像を処理します(たとえば、さまざまな画像間のエンティティの違いを抽出します)。関数呼び出しでは、次のように指定します。

  • 使用するマルチモーダルモデル

  • プロンプト

  • FILE オブジェクトを介した画像ファイルのステージパス。

単一画像の例

次の例では、AnthropicのClaude Sonnet 3.5モデルを使って、 @myimages ステージに保存されている円グラフ science-employment-slide.jpeg を要約しています。

2023年に数学が「極めて重要」とされる職業の分布を示す円グラフ

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'));
Copy

応答:

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つの異なる広告クリエイティブを比較しています。

電気自動車の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')
));
Copy

応答:

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文字のテキストを表すため、制限に対応する単語数はトークン数よりも少なくなります。

画像モデルの場合、画像あたりのトークン数はビジョンモデルのアーキテクチャに依存します。プロンプト内のトークン(たとえば、「これは何の動物ですか」)も、モデルのコンテキストウィンドウに貢献します。

モデル

コンテキストウィンドウ(トークン)

ファイルタイプ

ファイルサイズ

プロンプトごとの画像

claude-4-opus

200,000

.jpg、.jpeg、.png、.webp、.gif

3.75 MB [L1]

20

claude-4-sonnet

200,000

.jpg、.jpeg、.png、.webp、.gif

3.75 MB [L1]

20

claude-3-7-sonnet

200,000

.jpg、.jpeg、.png、.webp、.gif

3.75 MB [L1]

20

claude-3-5-sonnet

200,000

.jpg、.jpeg、.png、.webp、.gif

3.75 MB [L1]

20

llama4-maverick

128,000

.jpg、.jpeg、.png、.webp、.gif、.bmp [L2]

10 MB

10

llama-4-scout

128,000

.jpg、.jpeg、.png、.webp、.gif

10 MB

10

pixtral-large

128,000

.jpg、.jpeg、.png、.webp、.gif、.bmp [L2]

10 MB

1

[L1] (1,2,3,4)

画像は8000x8000ピクセル以下でなければなりません。Anthropic (claude) モデルは、1回の呼び出しで最大100枚の画像をサポートします。制限は個々の画像に適用されます。

[L2] (1,2)

Mistral (pixtral) と Meta (llama) モデルは、一般的な形式に加えて .bmp ファイルをサポートしています。

コストの考慮事項

請求はトークンの処理数に応じて変化します。画像あたりのトークン数はビジョンモデルのアーキテクチャに依存します。

  • 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
(フランクフルト)

claude-3-5-sonnet

claude-3-7-sonnet [A1]

claude-4-sonnet [A1]

claude-4-opus [A1]

pixtral-large

llama4-maverick

llama4-scout

[A1] (1,2,3)

モデルはリージョン横断推論でのみ利用可能。

COMPLETE マルチモーダルは他のリージョンでも利用可能です クロスリージョン推論

エラー条件

メッセージ

説明

外部関数 SYSTEM$COMPLETE_WITH_IMAGE_INTERNAL リモートサービスエラーでリクエストに失敗しました: 400 '"無効な画像パス"

ファイル拡張子またはファイル自体のいずれかがモデルで受け入れられません。このメッセージは、ファイルパスが間違っている、つまり指定された場所にファイルが存在しないことを意味する場合もあります。ファイル名は大文字と小文字を区別します。

セキュアオブジェクトのエラー

ステージが存在しない可能性があります。ステージ名を確認し、ステージが存在し、アクセス可能であることを確認します。ステージパスの先頭には、 @myimages のように、必ずアット(@)記号を使用してください。

リモートサービスエラーで外部関数 _COMPLETE_WITH_PROMPT のリクエストに失敗しました: 400 '"リクエストパラメーターが無効です: サポート対象外のイメージ形式: イメージ/**

claude-3-5-sonnet、.jpeg、.png、.webp、.gif 以外の形式がサポートされていません。

リモートサービスエラーで外部関数 _COMPLETE_WITH_PROMPT のリクエストに失敗しました: 400 '"リクエストパラメーターが無効です: 画像データが5.00 MB を超えました"

claude-3-5-sonnet に提供された画像は5 MB を超えています。