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_columnsTRUE に設定されている場合、ストアドプロシージャはテーブルのすべての列の説明を生成します。
use_table_dataTRUE に設定されている場合、ストアドプロシージャはテーブルのサンプルデータを使用して列の説明を生成します。これによって、説明の精度を向上させることができます。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"
    }
  ]
}