13
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「AI、機械学習」

Microsoft Copilot Studio で作成した Teams GPT ボットでドキュメント検索する

Last updated at Posted at 2023-11-17

更新情報

2024/03/15
現在、Copilot Studio では「会話プラグイン」機能にて SharePoint を参照した回答得る機能をノーコードで作成できます。ただ現在プレビュー段階なので動きは保証できませんので、下記の実装をおすすめします。
参考:Microsoft Copilot 向け会話プラグインを作成する (プレビュー)

おすすめの実装としては、トピック機能で行う方法です。
通常のトピック機能でも「生成型の回答を作成する」ステップを追加できるようにアップデートされたため、こちらを使用することで以下に長々と解説している開発をせずに済みます。
SharePoint URL を入れ、ボットの認証設定をすることで、Teams で SharePoint を参照した回答を得ることができます。こちらの方が断然シンプルかつ簡単です。
image.png

はじめに

行ったこととしては、Teams 上に SharePoint からドキュメントを検索してくれるボットを作成しました。

GPTと打つと起動し、質問内容からドキュメントを参照し、回答してくれます。
image.png

必要なリソース

作成に必要なリソースを列挙します。

・Azure Cognitive Search(Azure AI Search)
→ SharePoint のドキュメントライブラリの検索インデックスを作るのに必要です。

・Azure Functions
→ Azure Cognitive Search(Azure AI Search)からドキュメント内容を取得し、要約する機能を Semantic Kernel で実装します。

・Copilot Studio で作成したボット
→ Teams から質問に対して回答をします。

処理のフロー

処理の流れを書きます。

ボットへ質問する

Azure Functions 起動

Azure Functions が質問内容に近いドキュメントを Cognitive Search(Azure AI Search)へ検索しにいく

Azure Functions が取得したドキュメント内容をもとに要約する

要約した文章を返す(ボットが回答する):tada:

Cognitive Search(Azure AI Search)の実装方法

以下記事に方法を記載しましたので、参考にしてください。
Azure Cognitive Search(Azure AI Search)で SharePoint ドキュメントのインデックスを作成する

Azure Functions の実装方法

以下記事に方法を記載しましたので、参考にしてください。
Azure Cognitive Search(Azure AI Search)× Semantic Kernel でドキュメントの内容を要約する

ボットの実装方法

① Teams で Power Virtual Agent をインストールします。
image.png

② Copilot タブから新しい Copilot を作ります
image.png

③ 作成したい場所のチームを選択します。
image.png

④ 作成する Copilot の名前を設定します。
image.png

image.png

⑤ トピックメニューから新しいトピックを作成します。
image.png

⑥ Copilot 起動する際のフレーズを決めます。何でもよいです。
image.png

image.png

⑦ フローを作成します。まず質問ステップを追加し、Copilot が起動した際のメッセージを設定します。
image.png

⑧ その下にアクションステップを追加し、PowerAutomate を設定します。
image.png

⑨ PowerAutomate 内のフローを編集します。
image.png

全体としてはこんな形になります。
image.png

質問内容を変数化します。
image.png

作成しデプロイした Azure Functions の API を呼び出します。Azure Functions 内で定義したリクエストパラメータの形に合わせて、リクエストボディを設定します。
image.png

Azure Functions のレスポンスに合わせて、得たい Json を定義します。
image.png

Azure Functions のレスポンスから最終的にボットに回答させたい情報を変数として定義します。
image.png

⑩元のフローに戻り、最終的にボットに回答させたい文章の形を作ります。
image.png

⑪これで完成したので、テストします。チャットエリアで、呼び出しフレーズから入力しテストしてみましょう。上手く回答が得られれば成功です。
image.png

ボットの公開

実際の Temas チャットでボットを使うためには公開する必要がありますので、公開します。

公開メニューから公開できます。
image.png

Teams にボットを追加しましょう。
image.png

追加完了すると、利用できるようになります:tada:
image.png

おわりに

社内情報などを ChatGPT に聞きたいとき、普段使用している Teams から聞けたら便利ですよね。それが実現できるのが、Power Virtual Agent(Microsoft Copilot Studio)です。
Copilot に参照させたいデータはカスタマイズ可能です。Cognitive Search のデータソースとインデックスを変更するだけです。取得したデータを元に様々なタスクができるのが Semantic Kernel です。これらを組み合わせたのが今回の検証になります。ぜひ参考にしてみてください。

13
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?