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