- カテゴリ:
:doc:`/sql-reference/functions-string`(AI 関数)
AI_FILTER¶
自由形式のプロンプト入力をブールに分類します。現在、テキストと画像の両方のフィルターをサポートしています。
リージョンの可用性¶
次の表は、テキストと画像の両方で AI_FILTER 関数を使用できるリージョンを示しています。
データ型
|
AWS US西部2
(オレゴン)
|
AWS US東部1
(N.バージニア)
|
AWSヨーロッパ中部1
(フランクフルト)
|
AWS ヨーロッパ西部1
(アイルランド)
|
AWS AP 南東部2
(シドニー)
|
AWS AP 北東部1
(東京)
|
Azure東部 US 2
(バージニア)
|
Azure西ヨーロッパ
(オランダ)
|
AWS
(リージョン横断)
|
|---|---|---|---|---|---|---|---|---|---|
TEXT
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
IMAGE
|
✔ |
✔ |
✔ |
✔ |
構文¶
入力文字列に AI_FILTER を適用します。
単一の画像に AI_FILTER を適用します。
PROMPT を活用し、テキストと画像の両方を含む複数の列に AI_FILTER を適用します。
引数¶
必須:
入力文字列を指定する場合:
input分類するテキストを含む文字列。
1つのファイルでフィルターをかけている場合:
predicateファイル入力を
TRUEまたはFALSEのどちらかに分類する指示を含む文字列。filepredicateで指定された指示に基づいて、ファイルが分類される列。AI_FILTER 関数への入力値として IMAGE FILE を使用できます。
PROMPT() 関数を使って入力をフォーマットしている場合:
より複雑なプロンプト、特に複数のファイル列を含むプロンプトについては、 PROMPT を使用して input を作成することができます。
PROMPT() 関数は、文字列と FILE データ型の両方の形式をサポートしています。詳しい使用方法については、 例 をご参照ください。
戻り値¶
指定したテキストに対してステートメントが TRUE と評価されるか FALSE と評価されるかを示すブール値を返します。
アクセス制御の要件¶
ユーザーは、 SNOWFLAKE.CORTEX_USER データベースロール が付与されているロールを使用する必要があります。この権限の詳細については、 Cortex LLM 権限 をご参照ください。
パフォーマンスとコストの最適化¶
デフォルトでは、AI_FILTER には、対象となるクエリに関するパフォーマンスの最適化が組み込まれています。この最適化では、品質への影響を最小限に抑えながら、パフォーマンスを2~10倍高速化し、最大60%のトークン使用量を削減することができます。
この最適化は、クエリエンジンが適切なパターンを検出すると自動的にトリガーされます。他のクエリ最適化と同様に、Snowflakeは、この最適化がすべてのクエリに適用されることを保証しません。エンジンは、可能な場合に、適応型ルーティングとコンテキスト認識型書き換えを活用して、より効率的な AI オペレーションを実行します。
アカウントでこの最適化を無効にしたい場合は、アカウントマネージャーまでお問い合わせください。
使用上の注意¶
最適なパフォーマンスを得るためには、以下のガイドラインに従ってください。
AI_FILTER に送られる列に NULL 値が含まれていないことを確認してください。
入力文字列または PROMPT() 引数には英語のプレーンテキストを使用します。
入力テキスト指示の詳細を入力してください。例えば、「満足しているようです」のようなステートメントの代わりに、「以下のサポート記録では、お客様は満足しているように聞こえます」を使用します。
質問の形で入力することを検討してください。例えば、「次のサポート記録では、顧客は満足しているように聞こえますか?」です
例¶
AI_FILTER: テキスト¶
文字列定数に対する単純なスカラーブール関数として呼び出すことができます。
この関数を使用するには、指示をテキスト列と CONCAT、 || できます。
複数の列にまたがる形式のテンプレート化をより簡単にするために、Snowflakeは PROMPT を提供しています。例えば、次のとおりです。
AI_FILTER の品質を評価しながら、列間で候補述語を比較するのに役立ちます。
JOIN を使った AI_FILTER の使用¶
JOIN で AI_FILTER を使用すると、 AI が推論できる自然言語プロンプトで2つのテーブルをリンクする式を表現できます。
以下の例では、 AI_FILTER 関数のプロンプトを使用して、 RESUMES テーブルと JOBS テーブルを結合しています。
AI_FILTER: 画像¶
以下の例では、指示に基づいて画像ファイルをフィルターしています。
指示述語と画像ファイル列を提供して、画像をフィルターします。
制限事項¶
Snowflake AI 関数は、以下のステージタイプのステージファイルから作成された FILEs では動作しません。
暗号化モード
TYPE = 'SNOWFLAKE_FULL'付き内部ステージ顧客側の暗号化モードを持つ外部ステージ:
TYPE = 'AWS_CSE'TYPE = 'AZURE_CSE'
ユーザーステージ、テーブルステージ
名前が二重引用符で囲まれているステージ