🏃

【AI Agent Hackathon】超初心者でも出たい話:1.事前知識

2025/01/14に公開

AI Agent Hackathon with Google Cloudが開催されています。
https://zenn.dev/hackathons/2024-google-cloud-japan-ai-hackathon

私はそもそもGoogle Cloud上で実行されるということがわからなかったし、Google CloudのAIプロダクトもGoogle Cloudコンピュートプロダクトも全く触ったことがない超初心者です。
まずはこれらを知らねば何が作れるのかイメージできない、ということで事前知識編です。

Google Cloudとは?

Google Cloudとはその名の通り、Googleが提供するCloudサービスだそうです。
https://cloud.google.com/?hl=ja
そこで私は思います。クラウドサービスって何ぞや。それだけ初心者ということです。
クラウドサービスとは、インターネットを通じてデータの保存やアプリケーションの利用、サーバーの運用などを行うサービスだそうです。サーバーの構築運用、データの保存管理、ウェブサイトやアプリのホスティング、データベースの利用、機械学習やビッグデータ分析ができます。

つまり、ローカル(自分のパソコンや自社のサーバーなど)で行っている作業や処理を、インターネットを介して提供される「仮想的な場所」で行えるようにするサービスです。便利ですね。
オンライン上で保存できると言われるとGoogleドライブをイメージするかもしれません。Googleドライブの場合は保存場所、Google Cloudの場合は保存場所含めた作業場所という感覚です。Google Cloudには保存もできるし、クラウド上でアプリを動かすこともできます。

Google Cloudは、オンライン上のパソコンと言ってもいいかもしれません。

Google CloudのAIプロダクトとは?

Google Cloudがパソコンなら、Google CloudのAIプロダクトはソフトみたいなものでしょう。
Google CloudのAIプロダクトとは、AIを使ったツールやサービスをインターネット上で利用できるようにしたものだそうです。上でソフトみたいなものとは言いましたが、ダウンロードなどはする必要がありません。
色々な種類があって、それぞれ用途が異なるので具体的に見ていった方がイメージが付きやすいかもしれません。

今回のハッカソンでは以下の中から少なくとも1つを使用する必要があります。

AIプロダクト 説明 使用例
1 Vertex AI Studio 統合開発環境。ノーコード/ローコードでAIを利用できる。 ノーコードで機械学習モデルを開発する
2 Vertex AI Agent Builder チャットボットやAIエージェントを構築するためのツール。 3 顧客サポート用の自動応答チャットボット
4 Vertex AI Platform AIモデルの開発、トレーニング、デプロイ、運用を支援。 機械学習モデルをトレーニングして、大規模な予測やデータ分析を行う。
5 Vertex AI Notebooks Jupyter Notebookを使用するツール。 データセットを用いて機械学習アルゴリズムの実験を行い、モデルの性能を比較する。
6 Gemini API in Vertex AI GeminiのAPI。 質問応答システムを作成する。
7 AutoML コーディングなしで機械学習モデルを自動でトレーニング。 テキスト分類モデルを手軽に作成する。
8 Natural Language AI テキストデータの自然言語処理。感情分析、エンティティ認識、要約など。 ツイートの感情分析する。
9 Speech to Text 音声をテキストに変換する。 会議を自動的に文字起こし。
10 Text to Speech テキストを読み上げる。多言語対応。 カスタマーサービスで自動応答を行う。
11 Translation AI テキスト翻訳を行う。 ウェブサイトを多言語に翻訳。
12 Vision AI 画像や動画から情報を抽出する。顔認識、物体認識など。 顔を認識して、セキュリティシステムで使用する。
13 Video AI 動画データを解析して、物体検出、音声認識、場面切り替えなどを行う。 監視カメラの映像を解析し、異常な動きや行動を検出する。
14 Document AI ドキュメントの内容を読み取り、構造化データに変換する。 紙の請求書をスキャンしてデータベースに入力する。
15 DialogFlow チャットボットや音声アシスタントを開発する。 問い合わせを自動的に処理するカスタマーサポートボットを作成する。
16 Contact Center AI 顧客センター用のツール。音声とテキストによるサポートの自動化、効率化を支援。 電話での顧客サポートを自動化し、効率的に問題を解決するシステムを構築する。

どれも有料のサービスですが、今はGoogle Cloudに登録すればクレジットがもらえるので体験することができます。

Google Cloudコンピュートプロダクトとは?

コンピュートプロダクトとはアプリケーションを動かす場のようなもので、計算リソースを提供するサービスとのことです。
こちらも具体的に見ていきます。

AIプロダクトと同じく、コンピュートプロダクトも今回のハッカソンでは以下の中から少なくとも1つを使用する必要があります。

サービス名 説明 使用例 無料プラン/体験版
1 Cloud Functions イベントが起こった時に自動でプログラムを実行する。サーバーを気にせず使える。 写真がアップロードされたら、その写真を自動で編集する。 あり
2 App Engine アプリをインターネット上で動かす。アプリを動かすための設定を自動でやってくれる。 ブログサイト、タスク管理アプリ、ショッピングサイトのバックエンド あり
3 Cloud Run コンテナに入れたアプリを簡単に動かす。コンテナを管理する必要なし。 画像処理アプリ、動画ストリーミング、リアルタイムデータ分析、チャットボット あり
4 Google Kubernetes Engine (GKE) 多くのコンテナを一括で管理できる。大きなプロジェクトに向いている。 大量のアプリをまとめて管理。 なし
5 Google Compute Engine (GCE) 自分だけの仮想コンピュータを作る。 自分専用のコンピュータをクラウド上で使いたい。 あり

App EngineとCloud Runの違いはコンテナを使うか否かですが、初心者の私にはどっちがいいのか判断が難しい…。まだコンテナ知識が乏しいので、App Engineにとりかかるのがいいのかなとも思っています。

オプション

せっかくなので何者なのかは勉強しておきたい。Flutter、Firebase、Androidについても調べてみました。
【Flutter】

  • アプリのUIデザイン(見た目)を作るのに使用。
  • 1つのコードでiOSやAndroidのアプリを作れる。
  • 言語がDart

【Firebase】

  • リアルタイム機能(チャットやデータの同期)を追加したいときに使用。
  • データベースや認証など、バックエンドの機能を簡単に追加できる。
  • 有料

【Android】

  • Android用のアプリを作るときに使用。
  • 言語がAndroid専用のコード(JavaやKotlin)

プロジェクトのイメージ

各条件がわかってきたところで、プロジェクトを考えてみます。

案① 自動返信のお問い合わせフォーム

  • AIプロダクト:DialogFlow
  • コンピュートプロダクト:App Engine

案② 音声入力でテキスト化メモアプリ

  • AIプロダクト:Text to Speech
  • コンピュートプロダクト:App Engine

案③ 日記で感情分析アプリ

  • AIプロダクト:Natural Langage AI
  • コンピュートプロダクト:App Engine

まとめ

Google Cloud、AIプロダクト、コンピュートプロダクトについて見てきました。
コンピュートプロダクトはApp Engineを使用して、AIプロダクトについてはタスクによってどれを使うか考えれば自ずと決まってきそうですね。
2/10締切ですし、超初心者でもあるので、とりあえずは期限内に動く物を作成することを目標にしたいと思います。

Discussion