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"
}
]
}