<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=445779107733115&amp;ev=PageView&amp;noscript=1">

【作業が楽になる】Duet AI in BigQuery とは?
利用注意点と4つの活用方法を紹介

 2023.10.11  株式会社電算システム 松原 颯

最近、生成AI技術を活用したサービスが話題を集めています。

Google が提供するクラウドサービスである Google Cloud においても、Duet AI というサービス群が新たに発表され、クラウドの利用体験向上のために生成AIの導入が進んでいるところです。

本記事では、そんな Duet AI の機能のひとつである Duet AI in BigQuery について、利用開始の流れから、実際にどのような使い方ができるのかといったところまで画像を交えながら紹介しています。

生成AIやBigQueryを有効に活用するためのポイントも理解できる内容になっておりますので、ぜひ最後までお読みください。

about-duet-ai-in-bigquery

Duet AI in BigQuery とは?3つのポイントを紹介

Duet AI in BigQuery とは、Duet AI in Google Cloud の機能のひとつです。Google Cloud のサーバレスデータウェアハウスサービスであるBigQuery上で利用することができ、クエリ(SQL)の自動生成や補完、要約といった機能を提供します。

Duet AI in Google Cloud とは、生成AIを利用した Google Cloud 上での開発支援機能の総称です。
2023年8月末に、Google Cloud の年次イベントである Google Cloud Next ‘23 内で詳細が発表され、同時にプレビュー利用が解禁されました。

本記事では Duet AI in BigQuery について、利用開始の方法から各機能の使い方までを実際の画面と共に紹介しています。BigQueryやDuet AIに興味のある方はぜひ最後までご覧ください。

なお、Duet AI in GoogleCloud は本記事公開時点(2023年10月)でプレビュー段階の機能です。今後のアップデートで機能が変更される可能性もありますのでご了承ください。

1.AIがクエリの理解を支援

SQLを使用する方であれば、一度はとても読みたくないような長く複雑なSQLに出会ったことがあるのではないでしょうか?そのようなSQLを人力で読み解くには時間も労力もかかります。Duet AI in BigQuery では、自然言語によるチャットでSQLの説明を求めれば、AIがSQLや使用されているデータを解析し、SQLがどのような処理をしているか詳しく説明してくれます。

2.自然言語によるSQL生成

普段SQLを書かない方にとって、分析のために複雑なSQLを書くというのはハードルが高い場合があります。Duet AI in BigQuery のSQL生成機能では、どのような処理をしたいか自然言語で説明することで自動的にSQLが生成されます。SQLを得意としない方であっても、SQLを利用したデータ操作が行えるようになれば、よりデータ活用の幅が広がります。

3.AIによるクエリの補完

SQLが得意な方にとっても、Duet AI in BigQuery は助けになります。例えば、列数の多いテーブルで多くの列をSELECT、ORDER BY、GROUP BYする時や列に別名を付ける時、WHEREに多くの条件を書かなければいけない時など、SQLが長くなり煩わしさを感じることがあるかもしれません。Duet AI in BigQuery によるSQL補完は、FROMで使用しているデータや、途中まで書いたSQLのパターンなどを総合的に判断してSQLを補完します。SQLを使い慣れたエンジニアにとっても作業の時間短縮に繋がるでしょう。

Duet AI in BigQuery を利用するまでの4ステップ

Duet AI in BigQuery の利用開始方法をご紹介します。

なお、以下のステップは Google Cloud に利用可能なプロジェクトが存在していることを前提としています。Google Cloud の利用開始方法については、こちらをご参照ください。

1.Duet AI in Google Cloud のプレビュー利用を申請する

Duet AI in BigQueryは、Duet AI in Google Cloud の機能のひとつです。まずは、Duet AI in Google Cloud を利用できるようにする必要があります。Duet AI in Google Cloud は、本記事公開時点でプレビュー中の機能ですので、まずは以下公式のドキュメントに従って、フォームからプレビュー機能利用の申し込みをします。
https://cloud.google.com/duet-ai/docs/discover/set-up-duet-ai

about-duet-ai-in-bigquery01

申請が受け付けられますと約4日ほどで招待(You’re invited!)のメールが届きますので、メール記載のリンクへアクセスし、Duet AI を利用したい Google Cloud プロジェクトのプロジェクト番号を入力します。さらに約2日ほど待ち、アクセス許可(Access Granted)メールが届きましたら完了です。

about-duet-ai-in-bigquery02

2.Cloud AI Companion APIを有効にする

Duet AI in Google Cloud の機能を利用するためには、Google Cloud 上で必要なAPIを有効化する必要があります。

Cloud Shellを開き、以下のコマンドを実行します。

gcloud services enable cloudaicompanion.googleapis.com –project PROJECT_ID
※PROJECT_IDには対象のプロジェクトIDを指定します。

about-duet-ai-in-bigquery03

3.必要な権限を付与する

Google Cloud プロジェクト上で Duet AI を利用するユーザー(プリンシパル)に対して、必要な権限(IAMロール)を付与します。

「IAMと管理」ページから、新しいユーザーにアクセス権を付与、もしくは既存のプリンシパルを編集し、以下2つのIAMロールを付与します。

  • Cloud AI Companion ユーザー
  • Service Usage ユーザー

about-duet-ai-in-bigquery04

4.Duet AI in BigQuery を有効にする

BigQuery のコンソールUI上で、Duet AI in BigQuery を有効にします。

クエリエディタ上部の鉛筆マークを選択すると、プルダウン形式で

  • オートコンプリート
  • 自動生成

の2つが表示されますので、利用したい機能を選択してチェックマークがつけば有効化完了です。

about-duet-ai-in-bigquery05

Duet AI in BigQuery でできる3つのこと

Duet AI in BigQuery でできる3つの機能についてご紹介します。なお、記事執筆時点では英語のみの対応となっています。

ここでは、BigQuery の一般公開データセットである「iowa_liquar_sales」データを使用して、実際に Duet AI in BigQuery の動作を確認します。このデータには、米国アイオワ州の酒類販売に関するデータが含まれており、酒類の種類、価格、販売数量、店舗、店舗の場所、販売日付といった情報を持っています。

1.クエリの自動生成

「#」を先頭に使用したコメントアウト行としてプロンプトを書くことで、Duet Ai in BigQuery によるSQLの自動生成が始まります。

まずは、店舗ごとに毎月の売上を計算し、月と店舗名の昇順にデータを取得するSQLを書くように指示をしてみます。

about-duet-ai-in-bigquery06

about-duet-ai-in-bigquery12

プロンプトを入力すると、生成されたSQLが提案されました。Tabキーを押すことで提案を確定します。

about-duet-ai-in-bigquery08

指示した通りのSQLが生成されていることが確認できます。売上はどの列から取得するといった情報はプロンプトに記載しませんでしたが、列の説明情報や列名といった情報から推測して正しくSQLが書けています。

次は、ビューを作成するSQL(DDL)を生成できるか試します。

酒類のメーカー、商品と容量あたりの価格を、容量当たりの価格が高い順に取得するビューを作成するよう指示をしてみます。

about-duet-ai-in-bigquery09

about-duet-ai-in-bigquery10

要望通りにデータを取得し、ビューを作成するようなSQLを生成することができました。

このように、Duet AI in BigQuery では自然言語による指示でSQLを生成することができます。

2.クエリの補完

次は、Duet AI in BigQuery によるSQLの補完機能を試します。

アイオワ州内の郡(county)と市(city)ごとに、注文ごとのお酒の量(volume_sold_liters)の平均値を計算するSQLを書き始めます。途中まで書いた時点ではまだGROUP BY条件を記載していないのでエラーが出ています。

about-duet-ai-in-bigquery11

すると、Duet AI in BigQuery が後に続くSQLを予測して候補を表示してくれました。

about-duet-ai-in-bigquery12

Tabキーを押して、候補を確定します。

about-duet-ai-in-bigquery13

GROUP BY条件だけでなく、販売量がゼロのデータは除いたり、平均量を降順に並べトップ10を取得するといったところも自動で補完がされました。

このように、ユーザーが書こうとしているSQLを解釈して補完するSQLを生成してくれることが確認できました。

3.クエリの要約

最後に、SQLの要約機能を試します。

本記事の公開時点で、SQLの要約機能を利用するには Google Cloud の言語設定を英語にする必要があります。

各店舗の注文件数を月単位に集計し、月の昇順、注文件数の降順で取得するSQLを書きました。

about-duet-ai-in-bigquery14

要約をしたいSQLを選択すると、左側の行番号の部分に鉛筆のようなアイコンが出現するので、これをクリックします。

about-duet-ai-in-bigquery15

すると、画面右側の Duet AI のサイドパネルにSQLの要約指示が自動で入力されて返答が返ってきますが、要約に失敗してしまいました。

about-duet-ai-in-bigquery16

しかし、Duet AI のサイドパネルに自動入力されたプロンプトをコピーし、手動で再度 Duet AI に読み込ませたところ正しくSQLの概要が生成されました。プレビュー段階のため、BigQuery からのプロンプトの連携が上手くいっていない可能性があります。

about-duet-ai-in-bigquery17

Duet AI in BigQuery 利用上の注意点2選

実際に Duet AI in BigQuery を利用する上での注意点と、より効果的にするためのポイントを紹介します。

メタデータの整理が重要

Duet AI in BigQuery はユーザーが入力したプロンプトを処理するにあたって、BigQueryテーブルのスキーマ情報(列名、データ型)や、列の説明(description)といったメタデータを参照して結果を生成します。そのため、適当に列名を付けたために実際のデータと列名の関連性が無くなっていたり、列の説明を入力していないといった場合には、生成されるSQLの精度が落ちる可能性があります。Duet AI in BigQuery からより良い生成結果を得るためには、メタデータやデータカタログの整備といったタスクが重要になります。

生成結果のチェックを忘れない

ユーザーにSQLの知識がある場合は、生成されたSQLを実行する前にSQLの処理内容を確認した方が良いでしょう。Duet AI in BigQueryは高精度な出力でユーザーを支援できますが、完璧ではありません。特に、BigQueryは従量課金型のサービスですので、生成されたSQLをユーザーが修正することで処理されるバイト数を減らすことができればコスト削減につながる可能性があります。生成AIの特徴を理解した上で上手く利用することができれば、生産性を向上する強力なツールになるでしょう。

Duet AI in Bigquery の料金

本記事公開時点で利用料金に関する発表はされていません。また、Duet AI in Google Cloud 、および Duet AI in BigQuery はプレビュー段階であり、プレビュー中の利用には料金は発生しません。(BigQueryの利用料は除く)

料金に関する発表がありましたら、本記事を更新します。

Duet AI in BigQuery を活用すれば開発が楽になる!

ここまで、生成AIを活用した最新の機能である Duet AI in BigQuery について、利用方法と実際に使用してみた結果をご紹介しました。生成AI関連の機能は今後さらなる改善が予想されていますが、現時点でも非常に高精度な出力を生成することが可能です。

これまではSQLの知識のあるエンジニアしか担当できなかったデータ分析を、SQLの知識が無い非エンジニア職の方も行えるようになれば大きなメリットと言えます。

また、エンジニアにとっても、単純なSQLは Duet AI in BigQuery に任せることで、開発時間の短縮につながるでしょう。メタデータの整理など考慮しなければいけないこともありますが、上手く活用することで業務の効率化に大きく貢献できるでしょう。

執筆者紹介

松原 颯
株式会社電算システム 松原 颯
入社5年目。データエンジニアとしてGoogle Cloudを活用したデータ分析・活用基盤の構築を支援する。実際のデータ分析現場での知見を活かし、高校生向け情報授業の特別講師を務めた経験もある。Google Cloud Professional認定資格を全て保有している。BigQueryが大好き。
<保有資格>
・Associate Cloud Engineer
・Professional Cloud Architect
・Professional Data Engineer
・Professional Cloud Database Engineer
・Professional Cloud DevOps Engineer
・Professional Cloud Developer
・Professional Cloud Security Engineer
・Professional Cloud Network Engineer
・Professional Workspace Administrator
・Professional Machine Learning Engineer
Google Cloud と 電算システムのご紹介

RELATED POST関連記事


RECENT POST「Google Cloud(GCP)」の最新記事


Google Cloud(GCP)

Google BigQueryの凄さの理由を解説! 料金や連携できるサービスも紹介

Google Cloud(GCP)

Google BigQuery の料金体系を解説

Google Cloud(GCP)

【生成AI】 Duet AI と Copilot を徹底比較 | 機能や仕組みの違いも解説

Google Cloud(GCP)

初心者でもわかるBigQuery入門|導入方法や使い方を徹底解説!

【作業が楽になる】Duet AI in BigQuery とは?利用注意点と4つの活用方法を紹介