🦝

社内用AIチャットアプリ① GCP + GAS + GWS

2024/06/10に公開

生成AIを業務で使うため、API経由だと学習利用しないということだったので、APIをつかったチャットアプリを作成します。
もともとGWS環境なので、GCP + GAS + Geminiで作成を進めていきます。

まず、第一弾としてGoogleChatでオウム返しを行うアプリをGCPとGASを使って作成していきます。
Gが並んでなんか強くてしぶとそうです。

はじめる準備

この章で行う作業はGoogle公式のチュートリアルに従います。

先んじて準備しておくこととしては

  1. プロジェクト名やアプリ名、説明文を考えておく
  2. アバター画像を用意しておく(チュートリアル内で用意はあります)
  3. 公開ページ用の画像を用意しておく
    ・アプリのアイコン(32x32px, 128x128px)
    ・説明用カード(220x140px)
    ・スクリーンショット

GPCの設定

Google Cloud プロジェクトの作成

Cloudプロジェクトを選択ページに移動します。
その後、[プロジェクトを作成]をクリックし、新しいプロジェクトを作ります。
プロジェクト名に事前に考えておいたものを設定します。
組織、場所はそのまま or 任意のものを選択してください。

Chat APIを有効にする

左上のナビゲーションメニューを開き、「APIとサービス」>「有効なAPIとサービス」をクリックします。
上部に「+ APIとサービスを有効にする」があるのでクリックし、検索バーで「Google Chat API」を検索します。見つかったらGoole Chat APIを開きAPIを有効にします。

OAuth 同意画面を構成する

左上のナビゲーションメニューを開き、「APIとサービス」>「OAuth同意画面」をクリックします。
次の情報を入力していきます。

  • User Type
    • 社内用なので「内部」を選択
  • アプリ情報
    • アプリ名
      • 準備しておいたアプリ名を入力します。
      • ただし、「google」という単語は含められません。
    • ユーザーサポートメール
      • GCPアカウントのメールアドレスを入力してください。
    • デベロッパーの連絡先情報
      • 自分のメールアドレスを入力してください。
    • そのほか
      • 空欄で大丈夫です。
        入力したら次へ進みます。
        Scopeに関してはすべて入力せず、次へ進みます。
        エラーがなければ、「BACK TO DASHBOARD」をクリックして作業終了です。

GASの設定

スクリプトの作成

テンプレートからスクリプトを作成します。
AppsScriptのスタートガイドページに移動します。
「チャットアプリ(Chat App)」を選択します。
「無題のプロジェクト」をクリックし、アプリと同じ名前に変更を行ってください。

このプロジェクトは開いたアカウントのマイドライブ内に作成されています。
必要に応じて他のフォルダへ移動など行ってください。

ちなみに、appsscript.jsonを開くと

appsscript.json
{
  "timeZone": "Asia/Tokyo",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "chat": {
  }
}

となっており、chatが追加されていることがわかります。
もし、テンプレートから作成しない場合はappscript.jsonへの追記を忘れずに行いましょう。

GCP番号をコピーする

GCPのコンソール画面で左上のメニューを開き「IAMと管理」>「設定」に移動します。
「プロジェクト番号」フィールドの値をコピーします。
※「プロジェクト名」や「プロジェクトID」ではなく数字のみで書かれた「プロジェクト番号」

GASのプロジェクト画面で「プロジェクトの設定(歯車マーク)」をクリックします。
「Google Cloud Platform(GCP)プロジェクト」の欄にある「プロジェクトの変更」をクリックします。
「GCPのプロジェクト番号」に先ほどコピーした番号をペーストします。
「プロジェクトを設定」をクリックします。

これによりGASからGCPへの連携が完了します。
なお、この作業の前にOAuthの設定を行っていないとエラーが表示されます。必ず設定を終えてからこの作業を行ってください。

デプロイIDの登録

今度はGCPからGASを呼び出せるように登録を行います。

GASのスクリプトエディタの右上にある「デプロイ」ボタンを押し、「デプロイをテスト」をクリックします。
表示された「ヘッドデプロイID」をコピーし、メモしておいてください。
このヘッドデプロイIDはテスト用のもので、GASのコードを書き換えると即座に反映されるものになります。運用を行う場合は正式にデプロイを行ったIDを登録し、テスト版と本運用版を分けて使うようにしてください。

Google Chat APIの設定

GCPのコンソール画面に戻り、左上のナビゲーションメニューから、「APIとサービス」>「有効なAPIとサービス」をクリックします。
一覧から「Google Chat API」をクリックします。
「構成」をクリックし、Chatアプリの設定を行います。

  1. 「アプリ名」に準備しておいたアプリ名を入力します。
  2. 「アバターのURL」は準備していたもの or 「https://developers.google.com/chat/images/quickstart-app-avatar.png」を入力します。
  3. 「説明」にアプリの説明を入力します。
  4. 「インタラクティブ機能」を有効にし、「1:1のメッセージを受信する」にチェックを入れます。
  5. 「接続設定」で「Apps Script Project」を選び、先ほどコピーしたヘッドデプロイIDをペーストします。
  6. 「スラッシュコマンド」は未入力でOKです。
  7. 「リンクプレビュー」も未入力でOKです。
  8. 「公開設定」で「このチャットアプリを[あなたの組織]の特定のユーザーとグループが使用できるようにします」にチェックを入れ、使用したい人のメールアドレスを入力します。5人まで登録できます。
  9. 「エラーをLoggingに記録する」をチェックしておきます。
    すべて入力したら「保存」ボタンを押します。

テストしてみる

ここまでできればオウム返しのプログラムが動作するはずです。

google chatの新規追加で、アプリ名を検索してみてください。
見つからない場合、Chat APIの設定などで間違いがあるかと思います。

アプリの追加が出来たら、話しかけてみてください。
設定が必要と出た場合は自分のアカウントを選択し、Allowしてください。
自分のコメントがそのまま戻ってくればここまでの作業は完了です。

第二回ではgemini apiを使っておしゃべりをします。

Discussion