見出し画像

【前編】非エンジニアがCopilotで「社内問合せ用RAGチャットボット」を作ってみた

こんにちは、OfficeBot マーケティング担当の臼井です。OfficeBotとして展示会によく出展させていただいているのですが「企業独自のデータを生成AIに覚え込ませたチャットボットをCopilot やGPTsを用いて自社で作ること」を検討されているお客様とお話しさせていただく機会が多くなっています。

CopilotやGPTsがあれば簡単に作れるのか、精度はどうなのか、実際に気になりましたので、今回はローコードで大規模言語モデル(LLM)と追加の知識ソースに基づいたAIを作れるCopilot Studio(旧Power Virtual Agents)の無料試用版を使って、社内用のチャットボットを作成してみました。

こちらの記事では、前編としてCopilotのどのプランを使うのかや、実際にCopilotを使って社内用のチャットボットを作成した様子をまとめましたのでご覧ください。

エンジニアリングの知識がない方々や、問合せ対応の自動化を検討されている方々でもわかりやすい初心者向けの記事となっています。

はじめに

まずは、前提情報として「Copilot」と「生成AIを活用したチャットボット(RAG)」について説明します。

Copilotとは?

Copilotには、たくさんの種類が存在します。

画像
Copilotの種類

Copilot Studioを使うことで、独自にカスタマイズされたAI チャットボットを作ることができます。

Copilot for Microsoft365 については、下記記事をご覧ください。

Copilot for Microsoft 365とは?できることや導入方法を解説

生成AIを活用したチャットボット(RAG)について

生成AIを問い合わせ対応に使う場合、これまではファインチューニングが必須でした。

ファインチューニングの実施には膨大な量のデータを用意しなければならない上、AIの知識やプログラミングのスキルも欠かせません。

このファインチューニングをせずに、生成AIを問い合わせ対応に使う方法が「RAGの使用」です。

RAG(Retrieval Augmented Generation:検索拡張生成)は、AIが外部のデータベースから
情報を探して回答を生成する仕組みです。データベースに問い合わせの回答となる情報を登録するだけで、AIが問い合わせに自動で回答できます。

例えば社内のバックオフィス部門へ寄せられる問い合わせへの対応を任せたい場合、社内規定をデータベースに登録することで、AIが自動で対応できるようになります。

そこで今回は社内向けを想定して、RAGチャットボットを自作してみました。

Copilot Studioで社内問合せ用RAGチャットボットを作ってみた

今回は、下記の手順でRAGチャットボットを作りました。

  1. Copilot Studioにアクセス

  2. 新しいコパイロットを作成

  3. 基本情報を設定

  4. 回答の情報ソースを登録

  5. データをアップロード

  6. テスト①(本記事ではここまで紹介しています)

  7. 設定の見直し

  8. テスト②

  9. 公開

1. Copilot Studioにアクセス

 https://www.microsoft.com/ja-jp/microsoft-copilot/microsoft-copilot-studio

画像

ライセンスがない場合は「無料で試す」からお試しができます。 


画像

※作成時点では、職場のMicrosoftアカウントが必要でしたので、情報を入力してください。

2. サイドメニューの「作成」から「新しいコパイロット」を選択

サイドメニューから「作成」をクリックし、画面右側の「新しいコパイロット」を選びます。

画像

3. コパイロットの基本情報を設定

チャットボットの名前と指示を設定します。

今回は社内用なので、名前を「社内問合せ対応コパイロット」と設定し、指示に 「あなたは〇〇株式会社のバックオフィス部門に所属していて、社内の問合せ担当者です。 聞かれたことには日本語で答えてください。」と入力しました。

言語は日本語に設定しています。

基本情報を設定したら、チャットボットがすぐにできあがりました。

画像

右側にはテストのチャットボットが立ち上がっています!もちろんですが、情報を与えていないので、会社のことは教えてくれません。しかし、何も設定していないのに会話が成立しているのはすごいですね......。

4. 回答の情報ソースを登録

次に、問い合わせの回答となる情報を登録します。

「サポート情報」から「ナレッジの追加」を選び社内の情報を登録します。

画像

すると、追加するデータを選ぶ画面に遷移します。

画像

さまざまなデータが登録できるんですね。驚きです。

今回は「ファイル」から実際のデータをアップロードしてみたいと思います。

画像

5. データをアップロード

今回は実際の社内規定や、情シスが用意したマニュアルなどを20ファイルほど登録してみます。

画像
アップするデータの一部

ファイルはドラッグ・アンド・ドロップで登録できるので、非常に楽です。

画像

しかし、エラーが出てしまいました。

画像

どうやら1ファイルあたりのファイルサイズ上限数は3MBのようで、10MBを超えている2ファイルは登録ができなかったようです。

今回はサイズが大きかったPDFを分割することで、すべて登録できました。

アップすると、登録したファイル一覧が表示され、状態が処理中になっています。処理が終わり、状態が「準備完了」になるまでしばらく待ちましょう。

画像

今回は30分ほどで、すべてのファイルの処理が完了しました。

6. テストをしてみる

問い合わせの回答となる情報を登録できたので、正しい回答が得られるのかテストしてみたいと思います。

就業規則を登録しているので「有休が取れるか」を聞いてみたのですが、回答は登録した情報ではありませんでした......。

画像

これでは社内問い合わせ対応には使えませんね。

やはり、回答元の情報を登録しただけでは、まだまだ精度が低いままです。社内用チャットボットとして運用するためには、回答の精度を上げる必要があります。

続きは後編でまとめていますので、合わせてご覧ください。

おわりに

Copilotを使うことで、非エンジニアの私でも簡単にチャットボットを作成できました。

しかし、社内用チャットボットとして運用するためには、回答の精度を高める作業が必要になることがわかりました。

後編にて、回答の情報ソースを登録した後の回答の精度を高める作業をまとめていますので、ぜひご覧ください。

もしここまで読んで「チャットボットを自作するのは難しそう」と感じた場合は、RAGに特化した専用システムを使うのがおすすめです。例えば「OfficeBot」なら、回答元の既存資料を登録するだけで、RAGチャットボットを運用できます。

詳しくは下記のサイトで紹介していますので、ぜひチェックしてみてください。

>>OfficeBot

ピックアップされています

M365

  • 12本

AI

  • 2本

Rag

  • 5本

コメント

ログイン または 会員登録 するとコメントできます。
社内データと対話する生成AI 法人向けRAG「OfficeBot」の公式アカウントです。生成AIに関する情報を発信していきます。OfficeBot を使ってみるなら → https://officebot.jp/
【前編】非エンジニアがCopilotで「社内問合せ用RAGチャットボット」を作ってみた|OfficeBot マーケティング担当
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1