Vertex AI Search and Conversation で社内情報博士を作る

 2023.09.26 2023.09.27

       

はじめに

突然ですが、「社内のことは何でも知っている社内情報博士がいてくれたらなあ」なんて思ったことはありませんか?

  • 社内規定を確認したいけどどこに書いてあるんだろう?
  • こんなときってどんな社内手続きが必要なんだっけ?
  • 資料作成の参考になるものがほしいんだけど、どんなキーワードでどこを探そう?

僕は毎日こんなことで悩んでいて、「ChatGPT みたいに気軽に聞ける相手が欲しいな」と思っていたら現れました。それが今回ご紹介する Vertex AI Search and Conversation です。

Vertex AI Search and Conversation とは

先日の Google Cloud Next'23 で一般提供となった Google Cloud のプロダクトの一つです。AI の力で独自データ (※1) の検索機能の開発を強力にサポートしてくれます。

「社内情報を知ってる ChatGPT」を想像していただくとわかりやすいかと思います。
チャットで聞けば教えてくれます!
文脈をふまえたマルチターン検索も可能です!
テキスト、Web、 画像、音声、データベース、なんでも(は言い過ぎですが)検索できます!
そんなアプリが簡単にできてしまうのです!

"Generative App Builder" から改名してまだ日が浅いため、ドキュメントや UI の表現の修正は現在進行中です。もし情報収集するなら "Gen App Builder" で検索したほうがたくさんヒットするかもしれません。

(※1) 独自データ: このポストでは、一般公開していない社内のデータ等 AI に知っておいてもらいたいデータのことをこう呼ぶことにします。イントラネットや社内文書、個人的な日記などをイメージしています。

機能

Vertex AI Search and Conversation は以下の機能で構成されています。

Generative AI agent

大規模言語モデル (LLM) を使用して、ユーザーの質問に回答するチャットボットを構築するための機能です。ユーザーとのおしゃべり担当ですね。

Enterprise Search

基盤モデルを活用して、Google 検索品質のマルチモーダル、マルチターン検索アプリケーションを構築するための機能です。具体的には、ユーザーが指定したデータのインデックス化と、クエリに対して関連性の高い結果を返す仕事を担当します。

Recommendations

ユーザーに関連性の高い商品やサービスをレコメンドするアプリケーションを構築するための機能です。2023 年 9 月時点ではプレビューです。

料金

料金は各機能の利用に対する従量課金です。ストレージに対する料金とクエリ回数に対する料金があり、料金の有無をまとめると以下のとおりです。単価などの詳細が気になる方は Generative AI App Builder pricing でご確認ください。

機能 ストレージに対する料金 クエリ回数に対する料金
Generative AI agent あり(インデックスサイズに対して) あり
Enterprise Search あり(インデックスサイズに対して) あり
Recommendations あり(インデックスサイズに対して)

なし(プレビューのため)

博士を作って質問してみる

その前に

博士を作る前に以降の記載の前提について記載しておきます。

  • Google Cloud コンソールの言語設定は "English(United States)" にしています。
    • UI は日本語対応していますので日本語に設定していただいても全く問題ありません。(英語を選択したのはあくまで個人的な好みからです。)
  • 各サービスの API の有効化の手順は省略しています。求められたらその都度有効化してください。

やりたいこと

博士アプリ nixc_boy (NIxC博士) を作り、架空の会社 NIxC のことについていろいろと質問してみたいと思います。

nixc_boy には、NIxC について書かれた資料を読んで勉強してもらい、 Vertex AI Search and Conversation の Preview 機能を使って対話する、という構成で実践したいと思います。コードは一切書きません。

余談ですが、「NIxC」という社名は弊社の略称(NI+C)をもじってつけました。

博士を作り、質問してみる

1. 独自データを準備する

まずは博士に読み込んでもらいたい資料を用意します。今回は Bard にお願いして架空の会社 NIxC の情報を作成してもらい、PDF 化して、Cloud Storage にアップしました。


2. 博士を作る

博士は Cloud コンソールからポチポチと作っていきます。

  1. Cloud コンソールのナビゲーションメニューから [Gen App Builder] をクリックします。


  2. [NEW APP] をクリックします。


  3. Type は Search を [SELECT] します。


  4. Configuration では以下の通りに設定し、[CONTINUE] をクリックします。

    1. Enterprise edition features: Off
      Web サイトの検索が必要な場合には On にします。
      今回は Web サイトの検索はしないので Off にします。
    2. Advanced LLM features: On
      生成 AI 機能を利用する場合は On にします。
      今回は博士と自然文で対話したいので On にします。
    3. App name: "nixc_boy_ja"(お好みの名前で OK)
    4. Multi-region: global(Global)
      コンプライアンスや規制上の理由がない場合はグローバルロケーションを選択することが推奨されています。

  5. [CREATE NEW DATA STORE] をクリックし、データストアの作成を開始します。
    1. Source: Cloud Storage を [SELECT] します。


    2. Data: 以下の設定を行い [CONTINUE] をクリックします。
      1.  Folder or File: FILE
      2. gs://\* : (先程 Cloud Storage にアップした PDF ファイルのパス)
      3. What kind of data are you importing?: Unstructured documents

    3. Configurations: "about-nixc-ja"(お好みの名前で OK)を入力して [CREATE] をクリックします。



    4.  データストアの一覧から、今作成した Data Store を選択し、[CREATE] をクリックします。


    5. しばらく待ち、以下のような画面が表示されれば博士の完成です。
とても簡単でしたね!それでは次に質問してみましょう。

3. 博士に質問する

Cloud コンソールの [Gen App Builder]-[Apps] に表示された任意のアプリをクリックすると、アプリとの対話を始めることができます。対話の様子は以下の画像のとおりです。回答の根拠となる資料の提示をしてくれて、クリックすると資料を開くこともできる点は非常に助かります。

a. 単発の質問(結果: △)

まず最初にシンプルな質問をぶつけてみます。

  • 質問
    • NIxC の社長は誰ですか?
  • 回答
    •  *** の社長は、アポロン・レオナルドです。彼は常に新しいことに挑戦し、不可能なことは不可能だと思っている人物です。趣味はお花です。
      (*** は実在する別の会社の名前なので伏せておきます。)
  • 資料の該当箇所
  • 判定
    • 社長の氏名は正解なのですが、社名を間違えているため△としました。
b. マルチターンの質問(結果: △)

単発の質問の回答を踏まえ、さらに掘り下げるような質問をしてみます。

  • 質問
    • 彼の座右の銘を教えてください
  • 回答
    • *** の社長の座右の銘は、「不可能なんて、俺にとっては、ありえない!」です。
  • 資料の該当箇所

  • 判定
    • それは確かに「彼」の情報ではありますが「座右の銘」ではなく「本人から一言」なので△です。
c. 要約依頼(結果: ◯)
  • 質問
    • NIxC 社のことを一言で紹介してください。
  • 回答
    • NIxC 社は、IT ソリューション、システムインテグレーションの会社です。主な商品は、クラウドサービス、データ分析サービス、セキュリティサービス、システム開発、ネットワーク構築などです。
  • 資料の該当箇所
  • 判定
    • 文句なしの正解です。
d. 集計依頼(結果: ☓)
  • 質問
    • NIxC 社の従業員名簿には何名の情報が載っていますか?
  • 回答
    • NIxC社の従業員名簿には4名の情報が載っています。レオ・ミカエル、マヤ・アマリア、アダム・ジョナサン、エヴァ・マリアです。
  • 資料の該当箇所
  • 判定
    • 名簿には 17 名の情報が載っているので☓です。従業員名簿が 2 ページにまたがっていることを正しく理解できなかったのかな、と思いました。(↑画像の中断にある黒くて太い線が改ページ位置です。)
e. 資料に記載のない一般的なことに関する質問
  • Amazon.com 知ってる? -> Amazon.com のことを教えてくれました。(◯)
  • S&P500 知ってる? -> S&P500 のことを教えてくれました。(◯)
  • 弊社(日本情報通信株式会社)知ってる? -> NIxC について教えてくれました。(☓)

資料にないことについても知っているようです。

実は日本語は公式にはサポートしていない


ここまでいろいろやってみた後に知ったのですが、実は日本語の資料は公式にサポートされてはいないようです。では英語ならば精度はもっと高いのか?気になったのでやってみます。

追加検証!英訳資料について同じことを質問してみる

Bard に作ってもらった資料の英語版を Bard に作ってもらい、あとは日本語版と同様の手順で博士アプリを作り、同じ質問をしてみました。
先にオチを言ってしまうと、今回はなぜか「サポートしてないはずの日本語のほうが精度が高い」という結果になりました。(僕の英語の質問が良くないのかも?)

a. 単発の質問(結果: ☓)
  • 質問
    • Who is the President of NIxC?
  • 回答
    • Maya Amalia is the President of InC. She is a genius engineer who is passionate about travel and reading.
  • 資料の該当箇所
  • 判定
    • Maya は社長ではないし、"InC"とは何でしょうか? ☓です。
b. マルチターンの質問(結果: △)
  • 質問
    • Tell me about her motto?
  • 回答
    • Maya Amalia's motto is "I will never give up on my dreams".
  • 資料の該当箇所
  • 判定
    • 日本語版と同じく「彼女」の認識は正しいですが「本人から一言」を回答しました。△です。
c. 要約依頼(結果: ☓)
  • 質問
    • Introduce NIxC in a nutshell.
  • 回答
    • NIxC is a company that provides IT solutions and system integration. Our main products are cloud services, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
  • 資料の該当箇所
  • 判定
    • 主力商品を1つしか紹介しておらず NIxC 社の要約とは言い難いので☓としました。
d. 集計依頼(結果: ☓)
  • 質問
    • How many people are listed in employee list of NIxC?
  • 回答
    • There is one person listed in the employee list of NIxC.
  • 資料の該当箇所
  • 判定
    • 名簿には 17 名の情報が載っているので☓です。今回は 1 ページ目に 2 人載っていたのにも関わらず 1 名だったので、改ページ位置の問題ではないのかもしれません。
e. 資料に記載のない一般的なことに関する質問
  • Tell me about Amazon.com. -> 
    Amazon.com is a company that sells movies, music, and other products.(◯だけどまず映画?)
  • Tell me about S&P500. -> I'm sorry, I don't know what S&P 500 is. (☓)
  • Tell me about Nippon Information and Communication Corporation. -> 
    Nippon Information and Communication Corporation is a company that provides IT solutions and system integration.(◯だけど NIxC と勘違いしている可能性大)
日本語版と同じく、資料にないことも知っている(ような気がします)。

最後に

今回は Vertex AI Search and Conversation の機能の一部を思いつくやり方で試してみましたが、いかがだったでしょうか?「社内情報博士は簡単に作れそうだな」と思っていただけたならとても嬉しいです。もしそうでなかったとしても、僕と同じ悩みを抱えている方にはぜひ一度試してみていただきたいおすすめのプロダクトです。

一方で、今回の試行では期待していたような精度を出すことができませんでした。うまくいかなかった原因については引き続き研究し、より良いやり方を模索していきたいです。

最後まで読んでいただきありがとうございました!

参考資料

Vertex AI Search and Conversation

What is Gen App Builder

About advanced features

Generative AI App Builder pricing

About apps, engines, and data stores - Languages

 

 

 

Google Cloud、Google Workspace に関するご相談はXIMIXへ!

Google Cloud、Google Workspaceに関する お問い合わせはこちら
XIMIX(サイミクス)は商標登録出願中です

執筆者紹介


Vertex AI Search and Conversation で社内情報博士を作る

BACK TO LIST