- カテゴリ:
:doc:`/sql-reference/functions-string`(AI 関数)
COMPLETE (SNOWFLAKE.CORTEX)(マルチモーダル)¶
注釈
AI_COMPLETE はこの関数の最新バージョンです。最新の機能を使用するには、 AI_COMPLETE を使用してください。COMPLETE (SNOWFLAKE.CORTEX) は引き続き使用できます。
画像とプロンプトを指定すると、言語モデルを使用して応答(補完)を生成します。この関数バリアントは、テキストモデルとともに画像モデルをサポートし、Snowflake内部ステージまたは外部ステージに保存された画像を処理します。COMPLETE を使用して、単一の画像を処理したり、バッチ方式で複数の画像を処理したり、各画像に同じプロンプトまたは異なるプロンプトを適用したり、単一の操作(たとえば比較)で複数の画像を処理したりすることができます。
構文¶
次のいずれかを使用します。
引数¶
model使用するモデルを指定する文字列。以下のモデルのいずれかを指定してください。
claude-3-5-sonnetpixtral-large
サポートされているモデルは、コストやコンテキストウィンドウが異なる場合があります。新しいモデルが随時追加される可能性があります。
prompt画像に関する質問を含む文字列で、 JSON のような出力形式を指定することもできます。これか
prompt_object引数のどちらかが必要です。prompt_objectSQL OBJECT は文字列プロンプトで、番号付きのプレースホルダー(
{0}、\{1\}など)と、プロンプトに挿入される1つ以上のテキストまたは FILE の値を含んでいます。PROMPT 関数は、必要なレイアウトのオブジェクトを作成する便利な方法です。この引数かpromptのどちらかが必要です。file_object処理する画像ファイルを含む FILE オブジェクト。TO_FILE 関数を使用して、ステージパスから FILE オブジェクトを作成します。文字列プロンプトを使用する場合は必須です。
FROM table画像パスと各画像のプロンプトを含むオプションのテーブル。COMPLETE を1回呼び出すだけで、画像をバッチ処理することができます。
戻り値¶
言語モデルの応答を含む文字列。
使用上の注意¶
コンテキストウィンドウの制限を超える入力はエラーになります。コンテキストウィンドウの制限を超える出力は切り捨てられます。
複数の画像を処理するには、プロンプトはプロンプトテンプレートと処理するファイルを指定したオブジェクト(通常は PROMPT 関数を使用して作成)でなければなりません。
テキストと画像のみ対応しています。ビデオおよびオーディオファイルには対応していません。
ファイル名の拡張子が
.jpg、.jpeg、.png、.gif、.webpの画像がサポートされています。pixtral-largeは.bmpもサポートしています。最大画像サイズは、
pixtral-largeが10 MB で、claude-3-5-sonnetが3.75 MB です。また、claude-3-5-sonnetは8000x8000を超える解像度の画像はサポートしていません。画像を含むステージは、サーバー側の暗号化が有効になっている必要があります。クライアント側の暗号化ステージはサポートされていません。
この関数はカスタムネットワークポリシーをサポートしていません。
ステージ名は大文字と小文字を区別しませんが、パスは区別されます。
例¶
次の例は、 COMPLETE 関数の基本的な機能を画像で示したものです。
ビジュアルな質問回答¶
インフレ率のグラフは、データに関する質問に答えるために使用されます。
応答:
画像分類¶
この例では、1つの画像で識別されたランドマークを分類します。
応答:
画像からのエンティティ抽出¶
この例では、画像からエンティティ(オブジェクト)を抽出し、その結果を JSON 形式で返します。
応答:
ディレクトリやテーブルからの画像のバッチ処理¶
複数の画像をバッチ処理し、それぞれに同じ操作を実行する場合は、画像ファイルを同じステージに保存します。テーブルの各行に COMPLETE 関数を適用します。
注釈
ステージのファイルのパスを取得するには、 ディレクトリテーブル が必要です。
まず、ディレクトリから画像の場所を取得してテーブルを作成し、 FILE オブジェクトに変換し、テーブルの列に結果の FILE オブジェクトを格納します。次のように SQL を使用します。
次に、 FILE オブジェクトを含む列に COMPLETE 関数を適用します。次の例は、テーブル内の各画像を分類しています。
応答:
画像へのパスを持つテーブルがすでにある場合は、 TO_FILE 関数 を使って、クエリ内で FILE オブジェクトを構築することができます。
このように、ステージのディレクトリから直接処理される画像を取得することもできます。
テーブル内で画像とプロンプトを提供¶
テーブル内で各画像に対して異なる操作を実行するには、テーブル内の画像とそれに対応するプロンプトを提供します。以下の例では、 img_path 列に各画像のステージパスが、 prompt 列にプロンプトが、それぞれテーブルに含まれています。
法的通知¶
Snowflake AI と ML をご参照ください。