AI_GENERATE_TABLE_DESC

テーブルまたはビューの説明を生成して返します。オプションで、ストアドプロシージャは、テーブルまたはビューの列の説明を生成することもできます。

ストアドプロシージャは Snowflake Cortex COMPLETE 関数 を使用して説明を自動的に生成します。

構文

AI_GENERATE_TABLE_DESC( <table_name> [ , <config_object> ] ) 
Copy

必要な引数

table_name

説明を生成するテーブルまたはビューを指定します。

オプションの引数

config_object

列の説明を生成して、それらの説明にサンプルデータを使用するかどうかを指定する OBJECT。このオブジェクトを指定するには、 OBJECT 定数 を使用します。

OBJECT 値は以下のような構造になっています。

{ 'describe_columns': <boolean>, 'use_table_data': <boolean> { 
Copy
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'); 
Copy
{  "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 }); 
Copy
{  "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"  }  ] }