見出し画像

生徒が使えそうな英文添削Botを作ってみた。

みなさんこんにちは。
今日は、「生徒が使えそうな英語添削botを作ってみた。」というテーマで話しをしていきます。

なぜこんなbotを作成しようと思ったかというと、
ChatGPTは英文添削が得意なのに、生徒がChatGPTを直接使用するには、壁があるからです。
登録する必要があることが、大きな壁です。

また、学校のアカウントを使用するにも
同時に複数の生徒が使用することはできません。

ですから、授業中に生徒が自分で英文をChatGPTに入力するのではなく、APIを使うことで、複数の生徒が同時に使用できないかを考えました。

なお、以下の動画を参考にしています。


使用するもの

  1. Open AIのAPI Key

  2. Power Automate

  3. Forms

  4. Teams

使用するものは、以上です。

1.のAPI Keyについての説明は、今回は省きます。取得方法などは検索すると簡単に出てきます。

2〜4については、Microsoft365に契約していれば使用できます。

全体の流れ

今回は、以下の様な流れで添削ができるようにしました。

  1. Formに英文を入力し、送信する。

  2. AIが添削する。

  3. 添削された内容が、Teamのチャット欄に表示される。

事前の準備

全体的にはPower Automateを使用して操作しますが、その手順を作成する前に、準備するものがあります。

Formの用意

まず、英文を入力するためのFormを作成しましょう。
とりあえず、以下の様に簡単なものを作ってみました。

Teamの用意

つづいて、添削した内容が表示されるTeamを用意します。
これは、既存のTeamを使用しても構いません。

今回私は、「PowerAutomate Test」というチームを作成しました。

Power Automateでフローを作成

準備ができたら、いよいよフローを作成します。

フローの全体図

Power Automateのフローは、以下の通りです。

各項目の中身

それでは、各項目の中身を見ていきましょう。

最初に準備した「自動添削(デモ)」のというFormを選択します。これがトリガーとなり、このFormに英文が送信されると、発動するようになります。

取得したい内容は、「自動添削(デモ)」に送信さえた内容ですので、それを選択します。

この「応答の詳細を取得する」がないと、送信された内容を取得することができません。

この変数は、そのままGPTに送るプロンプトだと思ってください。
「値」には、指示を記入しましょう。

なお、「以下の**英文**」とありますが、実際にGPTに送る際に、Formから取得した英文を、「英文」として、そこに貼り付ける予定です。

「名前」は何でもOKです。今回は「命令文」としました。
「種類」は「文字列」を選択しておきましょう。

「HTTP」はプレミアム機能です。私はひとまず試用期間として使いました。

「ヘッダー」の右側には、「Bearer」の後ろにAPI Keyを入力します。

「URL」は、どのモデルを使用するかによって変わりますが、画像と同じでよいと思います。
詳しくはOpenAIのサイトから確認できます。

「content」が、実際のプロンプトになります。先ほどの「命令文」と「英文」を追加してあります。
「動的なコンテンツの追加」から選択できます。

「作成」では、入力欄に以下の数式を入力します。

outputs('HTTP')?['body/choices'][0]['message']['content']

最後に、添削された英文を表示します。
今回は、あらかじめ作っておいた「PowerAutomate Test」というチームを使います。

「Team」や「Channel」を選択し、「Massage」に表示したい言葉を入力します。

「Massage」には、「動的なコンテンツの追加」から、先ほど用意した作成の「出力」を選択すればOKです。

以上でフローは完成です。

実際の返答を確認

では、実際に英文を送信し、どのように添削されるか見てみましょう。

英文の送信

あえて、間違った英文を送ってみます。

返答の確認

Teamのチャット欄に、以下の様に返答が表示されました。

クルミさん

I went to Tokyo yesterday. I had fun shopping.

訂正箇所の説明:
1:"went Tokyo"を"went to Tokyo"に訂正しました。"to"は目的地を示す前置詞です。
2:"I go shopping fun"を"I had fun shopping"に訂正しました。"had fun"は楽しんだことを表現する表現です。また、"shopping"は名詞形で使用されるため、動詞形の"go"ではなく、名詞形の"shopping"を使用します。

正しい英文とともに、訂正箇所の説明も表示されています。
これだけの添削をしてくれれば十分ですし、プロンプトを変更することでより高度な添削が可能になると思います。

今後の課題

思い通りの返答が表示されたことはよいのですが、課題もあります。

課題①:APIの使用料が発生する。

APIは送った文字数と、返ってきた文字数に応じて、使用料金が発生します。授業で使用するとなると、現状は、「使ってみよう」とする教員の個人負担となります。

課題②:HTTPはプレミアム機能である。

課題①と同様に、お金の問題です。

私の職場ではOffice365のアカウントが与えられていますので、Power Automateを使用することは可能です。
しかし、「HTTP」はプレミアム機能ですから、試用期間が終了すると費用が発生します。
また、契約者は教育委員会ですので、「個人負担ででも追加契約する」方法は難しいと考えます。

課題③:返答がチャット欄に表示される。

現在、添削された英文は、チャット欄に表示されます。

もしも生徒が英文を入力したとして、多くのメンバーが見られるチャット欄に表示されることは、よいことではありません。

今後は、添削された英文が個人に返っていくシステムを考えたいと思います。

まとめ

今回は、「生徒が使えそうな英語添削botを作ってみた。」というテーマで、作成したフローなどを紹介しました。

まだまだ課題はありますし、実際に生徒が使用したこともありません。

しかし、今後の流れとしては
こういったテクノロジーの力を使うことが増えてくるだろうと思います。

そういう簡単で、今回このbotを作成したことは
私にとっても大きな成果と言えます。

今回紹介したフローを真似すれば、基本的に同じことが再現できるはずです。
興味のある方はぜひ試してみてください。


この記事が気に入ったらサポートをしてみませんか?