見出し画像

2023年3月1日に公開されたChatGPTのAPIと旧モデルのAPIを比較するアプリをPower Platformで作ってみた

こんにちは、アバナードの大北です。

今週水曜日(2023/3/1)にChatGPTのAPIモデル(モデル名:gpt-3.5-turbo)が公開されました!!
https://openai.com/blog/introducing-chatgpt-and-whisper-apis

皆さん、旧モデルと比べて新モデルがどのぐらい賢くなったか気になりませんか?
私はすっごく気にります!!なので、新旧モデルを呼び出し、結果を画面に並べて表示できるアプリを作成しました。

今回も前回の記事と同じくPower AppsとPower Automateを組み合わせてアプリを作成していきます。

<構築の流れ>
①OpenAIでアカウントを作成する
②アカウント作成後にAPIキーを取得する
③Power Apps画面の作成
④Power Automateフロー(旧モデル)の作成
⑤Power Automateフロー(新モデル)の作成

①、②、④については、過去のブログを参照してください。
ChatGPTとPower Platformを組み合わせてアプリを作ってみました(旧モデル)

なお、新モデルと旧モデルの条件を揃えるために、④の「MODEL TEMP」とは以下の値に変更してください。
MODEL TEMP:1 ※HTTPのtemperatureに設定する値

では、新しく公開されたChatGPTのAPI(モデル名:gpt-3.5-turbo)を使ったアプリ構築をしていきましょう(^^)/

③Power Apps画面の作成

画面に以下のアイテムを追加します。
入力テキスト :ChatGPTに質問したい内容を入力する。 
ボタン    :Power Automateを呼び出す。引数は入力テキストの内容。
ラベル(左下):旧モデル(text-davinci-003)からの返却結果を表示する。
ラベル(右下):新モデル(gpt-3.5-turbo)からの返却結果を表示する。 

Power Appsの画面

次にボタンをクリックした際の動作を設定していきます。
ボタンのOnSelectプロパティに以下を入力します。
UpdateContext({localResponseOld:PowerAppV2_flow.Run(TextInput1.Text)});
UpdateContext({localResponseNew:ChatgptCallFlow.Run(TextInput1.Text)})

※上記の関数で、コンテキスト変数にPower Automateからの戻り値を設定しています。

ボタンのOnSelectプロパティの設定

ラベル(左下)のTextプロパティに以下を入力します。
localResponseOld.result

同じくラベル(右下)のTextプロパティにも以下を入力します。
localResponseNew.result
※コンテキスト変数に格納された値をセットしています。

ラベルのTextプロパティの設定

⑤Power Automateフロー(新モデル)の作成

Power Automateフローを作成していきます。
フロー全体のイメージはこんな感じです。

フローの全体像

今回作成したフローについて、旧モデルのフロー(過去のブログ参照)と異なる部分は以下の2点になります。
・引数について、Roleが追加され、temperatureとmax_tokensを外す。
・HTTPの本文には以下の内容を設定する。
本文:
{
   "model": "@{outputs('MODEL_NAME')}",
   "messages": [
      {
         "role": "@{outputs('ROLE_NAME')}",
         "content": "@{triggerBody()['text']}"
      }
   ]
}

・「PowerAppsまたはFlowに応答する」には以下の関数を設定する。
※手順は、動的なコンテンツを追加→式を選択し、関数を入力する
<式>
trim(body('HTTP')?['choices'][0]?['message']?['content'])

アクション「PowerAppsまたはFlowに応答する」の設定

これで完成です(^^)/
では本題の比較をしていきましょう。

どのぐらい賢くなったか比較してみる!

まずは、パンの作り方について質問し、どのぐらい回答が賢くなっているか比較してみます。

パンの作り方を聞いてみた結果

分かりきってましたが、新しいモデルの方がだいぶ賢いですねw
旧モデルだと分量が分からないので、要件(パンを作りたい)を満たすことができませんね。。。(;´・ω・)
これに対し、新モデルは材料までちゃんと教えてくれるので、材料さえあれば、すぐに作れそうです(^^)/

次は晩御飯の献立を考えてもらいましょう!献立考えるの地味にめんどくさいので、ChatGPTに献立を考えてもらえると嬉しいんですw

献立を考えてもらった結果

結果、一目瞭然で旧モデルよりも新モデルであるChatGPTの方が具体的で次のアクションに繋げられる回答になっていますね。賢いです(^^)/

新モデルの方が賢いというのは皆さん分かっていると思いますが、どのぐらい賢くなったかのサンプルとして活用いただければと思います。

最後まで読んでいただきありがとうございました。

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