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

このドキュメントでは、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 関数を使用して、さまざまな型のスカラー値を生成できます。