G-gen の堂原です。本記事では Google Cloud (旧称 GCP) の生成 AI サービスである Vertex AI Search の活用事例として、技術サポート窓口支援ツールを紹介します。
はじめに
当記事では、G-gen の技術サポート窓口にて実際に運用されている生成 AI アプリケーションである Tech Support Powered by Generative AI(以降、「本ツール」)について解説します。
G-gen では Google Cloud および Google Workspace の請求代行サービスを契約いただいているお客様に、無償の技術サポート窓口を提供しています。この窓口では、Google Form にて問い合わせが投稿されると担当エンジニアが調査・検証を行い、メールで回答しています。
過去のケースにおけるメールのやりとりは蓄積されていますが、これまでは担当エンジニアが類似したケースを都度、手で検索して利用していました。そこで G-gen では生成 AI を活用して過去ケースや公式ドキュメント、G-gen Tech Blog からの情報抽出を効率的に行う本ツールを開発しました。本ツールについてはプレスリリースも公開しております。
本ツールの概要
本ツールは、お客様より Google Form で問い合わせが投稿されると「その問い合わせに類似する過去ケース」「関連する公式ドキュメント」「G-gen Tech Blog 記事」から検索を行い、関連情報を取得します。
検索後は Vertex AI Search により要約文の生成が行われ、最終的に Slack にメッセージとして投稿されます。
デモ
以下は本ツールのデモ動画です。
技術サポート用の Google Form から問い合わせが投稿されると、本ツールは「お問い合わせ内容詳細」に記載された文章に対して処理を行います。動画内では以下のような問い合わせを行っています。
Compute Engine から Cloud Storage のファイルにアクセスしたいです。 社内システムの開発がストップしており困っております。 試しに gsutil でバケットの一覧を 検索してみたのですが、 403 Permission 'storage.objects.list' denied on resource (or it may not exist) とエラーになってしまいます。 また、 gsutil で特定のオブジェクトをダウンロードする方法もご教授ください
上記の質問文は、質問内容と直接関係のない「困っております」といった文言や、文章の途中での改行など、機械的な検索の支障になりえる要素が含まれています。
フォーム投稿後、約 30 秒ほどで Slack に bot によるメッセージが投稿されます。
この際、先程の問い合わせ文章が質問とエラーメッセージに分解されます。動画内では 2 つの質問と 1 つエラーメッセージが出力されています。
質問
- Compute Engine から Cloud Storage のファイルにアクセスしたい
- gsutil で特定のオブジェクトをダウンロードする方法
エラーメッセージ
- 403 Permission 'storage.objects.list' denied on resource (or it may not exist)
最後に各質問とエラーメッセージについて回答 (Vertex AI Search による要約文) 、関連リンクおよび類似過去ケースが出力されています。
処理フロー
本ツールでは、次のようなフローで処理が進められます。
- フォーム投稿をトリガーとして Google Apps Script (GAS) が起動し Cloud Functions を呼び出す
- Vertex AI text-bison model を用いて、問い合わせ文章から質問とエラーメッセージを切り出す
- Vertex AI Search を用いてウェブサイト (公式ドキュメント、G-gen Tech Blog) および過去ケース (Cloud Storage に格納されたテキストファイル) の検索を行い、要約文の生成を行う
- Slack にメッセージとして出力する
技術的ポイント
Vertex AI text-bison model
本ツールでは、Vertex AI text-bison model による質問およびエラーメッセージの切り出しが行われています。
これは、問い合わせ文章そのままでは Vertex AI Search で十分な検索結果が得られないためです。
text-bison を用いることで、エラー解決には必要のない文や文章中の改行等がうまく処理され、必要な部分のみを綺麗に抽出することができます。
プロンプト設計においては Few-shot prompting を用いることで出力イメージのチューニングを行っています。
Vertex AI Search
ウェブサイトや過去ケースからの検索と回答文の生成には Vertex AI Search を用いています。
Vertex AI Search の最大の強みはプロンプト設計やモデルチューニングが必要ないことです。
過去ケースの検索は、テキストファイルを Cloud Storage にアップロードして非構造データのデータストアとしてを指定するだけで実装できます。この際、何かしらの制約に従ってテキストファイルを整形する等の前処理も必要ありません。
Vertex AI Search については、以下の記事で徹底解説していますのでご参照ください。
生成 AI アプリケーションの開発
もし自組織で生成 AI アプリケーションの開発を検討中なら、G-gen 社の Generative AI 活用支援ソリューションをご検討ください。
プロフェッショナルが、貴社の生成 AI 活用を支援します。詳細は以下からお問い合わせください。
堂原 竜希(記事一覧)
クラウドソリューション部データアナリティクス課。2023年4月より、G-genにジョイン。
Google Cloud Partner Top Engineer 2023, 2024に選出 (2024年はRookie of the yearにも選出)。休みの日はだいたいゲームをしているか、時々自転車で遠出をしています。
Follow @ryu_dohara