13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

ChatGPT APIを使って自分だけのTeamsチャットボットを作る

Last updated at Posted at 2023-07-04

01psd.jpg

QiitaでもTeamsでChatGPTを使うための解説記事がいくつかありますが、その多くは主にPower Virtual AgentやAzure Open AIを用いた手法について述べています。これらの方法を適用するユースケースは以下のようになるかと思います。

  1. 社内システム部門などがPower Virtual AgentやAzure Open AIの利用契約をする
  2. Power Virtual AgentやAzure Open AIを使ってChatGPTを使ったTeamsアプリを社内システム部門が開発する
  3. アプリを社内全体に公開する

つまり、Power Virtual AgentやAzure Open AIを用いるのは社内システム部門が主導して行うケースであり、それ以外の部門のスタッフ(市民開発者)には向かない方法と言えるかも知れません。

という訳で、市民開発者が今すぐTeamsでChatGPTを使うための解説記事があまり見当たらなかったので、書いてみることにしました。

ChatGPTの使用に慎重なスタンスを持っている企業も少なくありません。
所属企業のガイドラインは遵守するようお願いします。

前提条件

TeamsでChatGPTを使うためには以下の条件をクリアする必要があります。

  • Power Automateでプレミアムコネクタが使える
  • データ損失防止 (DLP) ポリシーやファイヤーウォールなどでChatGPT APIへのアクセスが遮断されていない

作成手順

全体の流れ

  1. Open AIにサインアップしてAPI keyを取得する
  2. Power AutometeでChatGPT APIを利用するフローを作成する

1. Open AIにサインアップしてAPI keyを取得する

サインアップやAPI keyの取得手順は、他に解説している方が多くいるのでここでは割愛します。

2. Power AutometeでChatGPT APIを利用するフローを作成する

フローの種類

インスタントクラウドフローの「作成ボックスから(V2)」を使用します。
04_1.png

フローの全体像

図中の番号は、以降の手順の項番とリンクしています。
13.png

手順

ポイントとなる箇所だけ説明します。

  1. フローのトリガーとなるアダプティブカードを編集します。
    03.PNG

  2. 会話履歴を保存するための配列変数を定義します。
    05.PNG

  3. ChatGPTと会話を続けるためにループ処理を設定します(今回の方法ではループを抜けることはありません)。
    06.PNG

  4. ChatGPTのプロンプトを入力するためのアダプティブカードを設定します。プロパティを以下のように設定することで自分だけが利用できるようになります。

    • 投稿先:Chat with Flow bot
    • Recipient:自分のメールアドレス
      07_1.png
  5. アダプティブカードで入力したプロントを配列変数に追加します。会話を続ける度に配列変数へプロンプトが追加されます。こうすることで会話の履歴を考慮した対話を続けることができます。
    08.PNG

  6. アダプティブカードから送信すると入力した内容が画面上から消えてしまいます。そのため、入力したプロンプトをTeamsに投稿して後から確認できるようにします。
    09_1.PNG

  7. ChatGPT APIへPOSTします。
    10.PNG

  8. レスポンスを配列変数に追加します。
    11.PNG

  9. レスポンスをTeamsに投稿します。
    12_1.png

利用方法

Teamsのメッセージ入力欄下部の三点リーダーをクリックし、[Workflows]を選択します。
14_1.png

作成したフローを選択します。表示されない場合はしばらく待ってから試してください。
15_1.PNG

ボタンをクリックします。
16_1.PNG

Power Automateからチャットが届くので、アダプティブカードにプロンプトを入力して送信します。
16_1.PNG

ChatGPTからの回答が届きます。会話履歴を保持しているため続けて入力しても自然な受け答えができます。
18_1.png

おわりに

TeamsからChatGPT使うことのメリットは、業務中息抜きにChatGPTで遊んでいても、一見すると仕事をしているように見えることです。

しかしそのユーモラスな見方は、TeamsでChatGPTを使用することの真の利点を過小評価しているかもしれません。

ChatGPTはTeamsでの個々の業務における重要なパートナーです。情報の必要性に応じてリアルタイムで対応するChatGPTは、各個人がより迅速かつ効率的に業務を遂行する手助けとなります。

また、反復的なタスクをAIに任せることで、より重要なタスクに専念する時間が増え、個人の生産性も向上します。

さらに、新しいスキルを学ぶためのリソースとしてもChatGPTは有効です。

これらのメリットにより、個々の業務の質が高まり、全体としての効率も改善されます。仕事に見えるだけでなく、ChatGPTは個々の業務を劇的に進化させる力を持っています。

謝辞

最後のチャプターはChatGPTに書いて貰いました。この場を借りて御礼申し上げます。

13
13
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
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?