テキスト生成関数を選択する

このドキュメントでは、BigQuery ML の ML.GENERATE_TEXTAI.GENERATE のテキスト生成関数を比較します。関数の機能が重複している場合は、このドキュメントの情報を使用して、使用する関数を決定できます。

関数の類似性

ML.GENERATE_TEXT 関数と AI.GENERATE 関数は、次の点で類似しています。

  • 目的: プロンプトを大規模言語モデル(LLM)に渡してテキストを生成します。
  • 課金: 処理されたデータに対して BigQuery ML の料金が発生します。詳細については、BigQuery ML の料金をご覧ください。LLM の呼び出しに対して Vertex AI の料金が発生します。Gemini 2.0 以上のモデルを使用している場合、呼び出しはバッチ API レートで課金されます。詳細については、Vertex AI での AI モデルの構築とデプロイの費用をご覧ください。
  • スケーラビリティ: 6 時間のクエリジョブごとに 100 万~ 1,000 万行を処理します。実際のスループットは、入力行の平均トークン長などの要因によって異なります。詳細については、生成 AI 関数をご覧ください。
  • 入力データ: BigQuery 標準テーブルとオブジェクト テーブルのテキスト データと非構造化データの両方をサポートします。

機能の違い

次の表を使用して、ML.GENERATE_TEXT 関数と AI.GENERATE 関数の違いを評価します。

ML.GENERATE_TEXT AI.GENERATE
関数のシグネチャ テーブルを入力として受け取り、テーブルを出力として返すテーブル値関数。 単一の値を入力として受け取り、単一の値を出力として返すスカラー関数。
サポートされている LLM
  • Gemini モデル
  • Anthropic Claude、Llama、Mistral AI などのパートナー モデル
  • オープンモデル
Gemini モデル
関数の出力コンテンツ

Gemini モデルの関数出力コンテンツ:

  • 生成されたテキスト
  • 責任ある AI(RAI)の結果
  • Google 検索のグラウンディングの結果(有効になっている場合)
  • LLM 呼び出しのステータス

他のタイプのモデルの関数出力コンテンツ:

  • 生成されたテキスト
  • LLM 呼び出しのステータス
  • 生成されたテキスト
  • JSON 形式の完全なモデル レスポンス
  • LLM 呼び出しのステータス
関数の出力形式 生成された値は、flatten_json_output 引数の値に応じて、単一の JSON 列または個別のテーブル列で返されます。 生成された値は、STRUCT オブジェクトのフィールドとして返されます。
ユーザー ジャーニー 関数を使用する前に、リモートモデルを作成する必要があります。 リモートモデルを作成しなくても、関数を直接使用できます。
権限の設定 BigQuery 接続を手動で作成し、接続のサービス アカウントに Vertex AI ユーザー ロールの権限を付与する必要があります。BigQuery のデフォルトの接続を使用している場合は、この手順をスキップできます。 BigQuery 接続を手動で作成し、接続のサービス アカウントに Vertex AI ユーザー ロールの権限を付与する必要があります。
利点 より柔軟な入出力形式が可能になります。 SQL クエリに簡単に統合できます。
拡張関数 AI.GENERATE_TABLE 関数を使用すると、指定した SQL 出力スキーマに従って構造化された出力を生成できます。 AI.GENERATE_BOOLAI.GENERATE_INTAI.GENERATE_DOUBLE 関数を使用して、さまざまな型のスカラー値を生成できます。