- カテゴリ:
/sql-reference/functions-aggregation`(一般):doc:/sql-reference/functions-string`(AI 関数)
AI_AGG¶
自然言語の指示を使用して、テキストデータの列を削除します。
たとえば、AI_AGG(reviews, 'Describe the most common complaints mentioned in the book reviews') はユーザーフィードバックの概要を返します。
COMPLETE (SNOWFLAKE.CORTEX) や SUMMARIZE (SNOWFLAKE.CORTEX) とは異なり、この関数は言語モデルのコンテキストウィンドウの最大値よりも大きなデータセットをサポートします。
- こちらもご覧ください:
構文¶
引数¶
必須:
exprこれは、レストランのレビューや電話の記録など、集計処理が実行されるテキストを含んでいる式です。
instruction実行する集約の自然言語仕様を含む文字列。たとえば、「レビューを要約する」または「言及されているすべての人物を識別し、それぞれの簡単な履歴を書く」が該当します。
戻り値¶
集計の結果を含んでいる文字列を返します。
次の場合、関数は、提供されたデータに回答が含まれていないことを示す可能性があります。
データの集計方法を指定する明確な指示を提示していない
データに指示を完了するのに必要な情報が存在しない
使用上の注意¶
最適なパフォーマンスを得るためには、以下のガイドラインに従ってください。
指示には平易な英語のテキストを使用します。
質問するのではなく、宣言的な指示を提示します。例えば、「これを要約できますか?」のような質問の代わりに、「通話記録を要約してください」を使用します。
指示にあるテキストについて説明します。例えば、「要約」のような指示の代わりに、「通話記録を要約してください」を使用します。
意図されたユースケースについて説明してください。例えば、「最高のレビューを見つける」ではなく、「レストランのウェブサイトでハイライトするために、最も肯定的でよく書かれたレストランのレビューを見つける」を使用します。
CONCATまたは||演算子を使用すると、文字列式で複数の列を使用できます。以下の例をご参照ください。指示を複数のステップに分割することを検討してください。たとえば、「新しい記事を要約してください」の代わりに、「視点が異なるイベントを提示するさまざまなパブリッシャーの新しい記事が提示されます。重要な情報が失われないようにしながら、ソーステキストの簡潔かつ精密な要約を作成してください」を使用します。
例¶
AI_AGG は、文字列定数の単純なスカラー関数として使用できます。次の例で AI_AGG は、単一の文字列として提示されている製品評価を要約するために使用されます。
AI_AGG はデータ列でも使用できます。次の例では、上記の例の製品評価は、共通テーブル式 を使用してテーブルの列として提示されています。
AI_AGG は、CONCAT または || 演算子を使うことで、データの複数行で使用できます。
AI_AGG は GROUPBY と組み合わせて使用することもできます。次の例では、レビューに関するテーブルに記載されている2つの製品(product_id 列で識別)の製品評価を要約しています。
指示は、さまざまな集約タスクに使用し、応答のスタイルとトーンを構成することができます。次の例では、指示を使用して各製品で最もポジティブな評価を見つけ、評価のフランス語とポーランド語の翻訳を提示しています。
AI_SUMMARIZE_AGG もご参照ください。