
前提知識不要!Google Cloudを使って15分で超高性能なAIチャットボットを構築する方法
皆様こんにちは、あるいはこんばんは、みじんこきなこです。
さて、本日は久々に技術系の記事。
前提知識不要でGoogle Cloudを使って、15分で自分の会社のナレッジを元に回答してくれる、超高性能なAIチャットボットを構築する方法を紹介します。
想定読者として、自分の会社に生成AIチャットボットを導入したいと思っているITエンジニアでない方を想定しています。
本当にただ手順をなぞれば構築が済む形なので、有料記事としていますが、AIの構築からテストまでで、この記事を購入したとしても1000円かからずAIチャットボットが構築できます。
何故チャットボットを作るのか?
最近世の中を見まわしてみると、猫も杓子も生成AI。
プロンプトエンジニアリングなんて言葉も流行っていますね。
ただ、実際にAIを使ってみると、なんだかんだでたしかにすごいんだけど、仕事に組み込むうえで何に活用したらいいか分からない、なんてことになっている方も多いのではないでしょうか。
実際、AIを活用して何かの施策をしたとして、それが業務の生産性向上に寄与する事例というのは稀です。
また、ハルシネーションの様なAI特有の問題もあり、思うように活用できない、できたとしても、多大な費用やデータ集めの労力が掛かるという現実もあります。
そこで今回は、誰でもわかりやすく、簡単に導入できて、費用対効果も高い、AIを活用して業務の生産性向上に寄与する方法として、VartexAIを用いたチャットボットを作成する方法を紹介します。
つくりかた
Google Cloud にサインアップする
まずは、Google Cloud にサインアップします。
この辺の手順は世の中に溢れているので、割愛します。
Cloud Storage Backetを用意する
サインアップが出来たら、まずはCloud Strage Backetを用意します。
このバケットには、チャットボットの回答ソースとなるファイルをアップロードします。



バケットは名前だけ決まっていれば特に問題ありません。
厳密に作ろうとした場合、コンプライアンスに照らして設定を行いますが、それについてはこの記事では扱いません。

バケットが出来たらパスをコピーしてメモ帳などに控えておきます。
同じ画面で、チャットボットに読み込ませたい回答の元となるファイルをアップロードします。
アップロードはドラッグアンドドロップでファイルを放り込むだけです。
回答ソースとして使用できるファイル形式は、
CSV、docx、pptxなどのOfficeフォーマットのファイル、pdf、テキストファイルなどがあります。
これでデータの前準備はOKです。
次のセクションからいよいよチャットボットを構築していきます。
Vartex AI Search and Conversation(検索と会話を使う)
Cloud Storageバケットにデータをアップロードしたら、今度はダッシュボード上部の検索窓から、Vertex AI Search and Conversationを検索します。
日本語の環境では、検索と会話という名前で表示されます。

これをクリックして、Vertex AI APIが有効になっていない場合は、有効にしておきます。
アプリを作成する
画面上部の「新しいアプリ」をクリックします。

アプリの種類はチャットです。

構成では、それぞれ以下の設定を行います。
Agent configurations
自分の会社名や所属組織を入力します。
エージェント名
回答してくれるボット君のIDを入力します。

ロケーションに関しては、デフォルトのままで問題ありません。
単一リージョンでの利用を希望する場合は、そのリージョンを選択しますが、現在は選択肢が少ない上に、例えば「コンプライアンス的にこのリージョンでコンピューティングしないといけない!」といったよほどの理由がない限りはデメリットしかありません。
データ設定では、先ほど作成したCloud Strage Backetを設定します。
まずは新しいデータストアを作成をクリックします。

Cloud Strage を選択します。

インポート対象はフォルダとして、先ほど控えておいたCloud Storage Backetへのパスを指定し、インポートするデータの種類は非構造化ドキュメントを選択します。

PDFの内容をOCRで処理するかどうかは、任意に選択してください。
例えば、PDFの作り方が文字データを含む画像ファイルを埋め込んで作られたようなものなら、有効である必要があります。
逆に文字ドキュメントをPDFにしただけのものなら、無効で問題ありません。
構成のデータストア名は、任意に解るものを指定しましょう。

最後に作成を行えば、チャットボットが作成されます。
Dialogflowを使ってチャットボットの埋め込みコードを取得する
アプリが作成されたら、作成されたアプリをクリックするとDialogflowCXの画面が表示されます。
基本的にはここでは何も設定する必要はありません。
画面右上の<> Publishをクリックすると、チャットボットの埋め込みコードが表示されます。


あとはこれを任意のホームページなどに埋め込めば、チャットボットの完成です。
試してみる
実際にチャットボットを試してみましょう。
まずはCloud Strage Backetに、チャットボットが回答するためのファイルをアップロードします。これは例えば社内マニュアルとか、テスト用のテキストファイルとか、何でも構いません。
次に、チャットボットを埋め込んだページを開いて、チャットボットに質問してみましょう。

たった15分ほどで、既存のドキュメント資産を利用して、自分の会社の事情に合った回答を返してくれるチャットボットが出来てしまいます。
流石にここでは高度な質問をすることは控えます。
企業的に気になる点
費用はいかばかりか
2024年3月時点の料金としては、Vertex AI Search and Conversationのチャットの料金が、1000クエリ(聞いて、回答が返ってきて1クエリ)あたり、約2000円ほど、そして、DialogflowCXの料金が1000クエリあたり、約1000円ほどです。
従量課金制ですので基本的には使った分だけ、といった形になりますが、非常に多く見積もって毎日100人が10回やり取りするとしても、1ヶ月で30000クエリ、月額で約9万円程度になります。
これを高いとみるか安いとみるかは、その企業の規模や事情によるところが大きいですが、例えばこれをAWSで構築した場合月額30万円ほど、ファインチューニングを行ってアプリを独自開発するのであれば、使っても使わなくても初期費用で数百万円から数千万円ほどかかることを考えると、それほど高い金額ではないと言えるでしょう。
セキュリティは大丈夫か
今回構築する際に用いられたデータソースは学習には使用されません。
また、Cloud Strage Backetにアップロードされたファイルのセキュリティ強度は、Cloud Strage Backetの設定に依存します。
適切なIAMの設定を行い、アクセス制御を行っていれば、基本的には大抵の企業で問題ないレベルのセキュリティ強度を確保できるでしょう。
回答精度はどうか
VertexAI Search and Conversationのチャットボットは、RAGと呼ばれるモデルで構築されている仕組みであるため、従来のファインチューニングや素のAPIを使用する仕組みと比較して、ハルシネーションが起こりにくく回答精度が高いです。
仮に技術的な理屈がわからないという方でも、15分で構築できてファイルを大量に用意して読ませて結果を検証しても、1日もかからず結論を見ることができます。
なので、精度がどうのと空中戦の議論する前に、試して確認してみるのが良いです。
(逆にそれすら許されないレベルだと生産性上がらない原因はAIどうこう以前の問題ですよね)
まとめ
AIを活用して業務の生産性向上に寄与する方法として、VartexAIを用いたチャットボットを作成する方法を紹介しました。
この方法は、既存のドキュメント資産を利用して、自分の会社の事情に合った回答を返してくれるチャットボットを、たった15分ほどで構築することが出来ます。
費用対効果も高く、セキュリティも確保されており、回答精度も高いため、
社内向けのアシスタントとして、あるいは顧客向けのサポートとして、はてまた自分のドキュメント置き場をデータソースにして自分専用の執事として、構築してみてはいかがでしょうか。
みじんこきなこでした。
ここから先は
¥ 300
この記事が気に入ったらチップで応援してみませんか?