AI_GENERATE_TABLE_DESC¶
テーブルまたはビューの説明を生成して返します。オプションで、ストアドプロシージャは、テーブルまたはビューの列の説明を生成することもできます。
ストアドプロシージャは Snowflake Cortex COMPLETE 関数 を使用して説明を自動的に生成します。
構文¶
AI_GENERATE_TABLE_DESC( <table_name> [ , <config_object> ] )
必要な引数¶
table_name
説明を生成するテーブルまたはビューを指定します。
オプションの引数¶
config_object
列の説明を生成して、それらの説明にサンプルデータを使用するかどうかを指定する OBJECT。このオブジェクトを指定するには、 OBJECT 定数 を使用します。
OBJECT 値は以下のような構造になっています。
{ 'describe_columns': <boolean>, 'use_table_data': <boolean> {
describe_columns
TRUE に設定されている場合、ストアドプロシージャはテーブルのすべての列の説明を生成します。
use_table_data
TRUE に設定されている場合、ストアドプロシージャはテーブルのサンプルデータを使用して列の説明を生成します。これによって、説明の精度を向上させることができます。FALSE の場合、ストアドプロシージャはメタデータを使用して説明を生成します。
戻り値¶
次のフィールドがある JSON 文字列を返します。
COLUMNS
説明が生成された列の配列を含みます。このフィールドは、説明が列に対して生成された場合にのみ返されます。
配列には、テーブルの各列に次のフィールドが含まれます。
database_name
列を含むデータベース。
description
ストアドプロシージャによって生成された列の説明。
name
列の名前。
schema_name
列を含むスキーマ。
table_name
列を含むテーブルまたはビュー。
TABLE
テーブルの説明とテーブルに関する一般情報を含む配列が含まれます。配列は以下のフィールドで構成されます。
database_name
テーブルを含むデータベース。
description
ストアドプロシージャによって生成されたテーブルの説明。
name
テーブルまたはビューの名前。
schema_name
テーブルを含むスキーマ。
アクセス制御の要件¶
ユーザーが AI_GENERATE_TABLE_DESCRIPTION ストアドプロシージャを呼び出すには、以下の権限とロールが付与されている必要があります。
テーブルまたはビューに対する SELECT 権限。
SNOWFLAKE.CORTEX_USER データベースロール。
使用上の注意¶
リージョンは、Snowflake Cortex が記述を生成するために使用する LLM をサポートしている必要があります。COMPLETE 関数 <label-cortex_llm_availability>` の可用性を確認します。COMPLETE 関数がリージョンでサポートされていない場合に、この機能を使用するには :doc:` クロスリージョン推論 </user-guide/snowflake-cortex/cross-region-inference>` を有効にする必要があります。
例¶
ビュー v1
の説明を生成します。
CALL AI_GENERATE_TABLE_DESC( 'v1');
{ "TABLE": [ { "database_name": "mydb", "description": " The table contains records of customer addresses. Each record includes a name and zip code.", "name": "v1", "schema_name": "sch1" } ] }
テーブル hr_data
とそのすべての列の説明を生成します。メタデータのみを使用して説明を生成します。
CALL AI_GENERATE_TABLE_DESC( 'mydb.sch1.hr_data', { 'describe_columns': true, 'use_table_data': false });
{ "COLUMNS": [ { "database_name": "mydb", "description": "A column holding data of type DecimalType representing age values.", "name": "AGE", "schema_name": "sch1", "table_name": "hr_data" }, { "database_name": "mydb", "description": "The first name of the employee.", "name": "FNAME", "schema_name": "sch1", "table_name": "hr_data" } ], "TABLE": [ { "database_name": "mydb", "description": " The table contains records of employee data, specifically demographic information. Each record includes an employee's age and name.", "name": "hr_data", "schema_name": "sch1" } ] }