![見出し画像](https://assets.st-note.com/production/uploads/images/97468893/rectangle_large_type_2_cbb9205416da80e1bc39c9a3f5406c83.png?width=1200)
ChatGPTとPower Platformを組み合わせてアプリを作ってみました
こんにちは、アバナードの大北です。
かなり出遅れた感がありますが、ChatGPTを使ってみたので共有します。
※この記事で扱っているものは、厳密に言うとChatGPTと同じGPT-3.5をベースとしたものです。
とはいえ、普通にChatGPTを使うだけであれば面白くないので、Power Platformと組み合わせて使ってみました。
やりたいこととしては、Power Appsの画面で入力した内容をもとにChatGPTに問い合わせて、結果を画面に表示するといった感じです。
さっそくやっていきましょう(^^)/
まずは、構築の流れから説明していきます。ザクっというと以下の4つだけです。
OpenAIでアカウントを作成する
アカウント作成後にAPIキーを取得する
Power Apps画面の作成
Power Automateフローの作成
では、実際の手順を説明していきます。
①OpemAIでアカウントの作成する
以下のURLに接続して、サインアップしてください。
<URL>
https://beta.openai.com/signup
![](https://assets.st-note.com/img/1675762689983-rlPUQXJX9l.png?width=1200)
②アカウント作成後にAPIキーを取得する
ログインし、画面右上の「Personal」をクリックします。
![](https://assets.st-note.com/img/1675762532908-mWd7dOyLD0.png?width=1200)
メニューが表示させるので、「View API Key」をクリックします。
遷移先の画面でAPIキーを払い出し、キー情報をメモします。
![](https://assets.st-note.com/img/1675762805970-LXgtMgXzK3.png?width=1200)
③Power Apps画面の作成
待ちに待ったPower Appsでの画面作成ですw
画面に以下のアイテムを追加します。
入力テキスト:ChatGPTに質問したい内容を入力する。
ボタン :Power Automateを呼び出す。引数は入力テキストの内容。
ラベル :検索結果を表示する。
![](https://assets.st-note.com/img/1675764706192-eGrjgYjp41.png?width=1200)
次にボタンをクリックした際の動作を設定していきます。
ボタンのOnSelectプロパティに以下を入力します。
UpdateContext({localResponse:PowerAppV2_flow.Run(TextInput1.Text)})
※上記の関数で、コンテキスト変数にPower Automateからの戻り値を設定しています。
![](https://assets.st-note.com/img/1675765148593-PzpR1Wqx09.png?width=1200)
ラベルのTextプロパティに以下を入力します。
localResponse.result
※コンテキスト変数に格納された値をセットしています。
![](https://assets.st-note.com/img/1675781506635-8rZdkxGQTI.png?width=1200)
④Power Automateフローの作成
では、Power Automateフローを作成していきます。
フロー全体のイメージはこんな感じです。
![](https://assets.st-note.com/img/1675782687186-BsXuzPbDK6.png?width=1200)
Power Appsからフローの追加をクリックし、フローを作成していきます。
![](https://assets.st-note.com/img/1675781995506-AtEaeZOpYq.png)
トリガーはPowerApps(V2)を選択し、Power Appsからの引数を受け取れるようにします。
※デフォルトのトリガーだと値を受け取れないので、デフォルトのトリガーを削除したうえで。PowerApps(V2)を選択してください。
![](https://assets.st-note.com/img/1675782141337-5xl8WDkP3j.png?width=1200)
その後、データ操作の「作成」を4つ追加します。
(1つ目 認証で使うキー情報)
名前:SECRET KEY
入力:②で取得したAPIキーを設定
(2つ目 AIのモデル名)
名前:MODEL NAME
入力:text-davinci-003
(3つ目 ChatGPTからの回答の振れ幅)
名前:MODEL TEMP
入力:0.3
(4つ目 回答の文字数)
名前:MAX TOKENS
入力:2048
詳細な内容を確認したい方はOpenAIの以下のサイトを確認してください。
https://platform.openai.com/docs/api-reference/completions/create
![](https://assets.st-note.com/img/1675782247613-XG6HIFBCOA.png?width=1200)
あと、少しで完成なので、もうひと頑張りです。
HTTPアクションを追加していきます。設定内容は以下の通りです。
方法:POST
URI:https://api.openai.com/v1/completions
ヘッダー:
「Content-Type」に「application/json」を設定
「Authorization」に「Bearer @{outputs('SECRET_KEY')}」
本文:
{
"model": "@{outputs('MODEL_NAME')}",
"prompt": "@{triggerBody()['text']}",
"temperature": @{outputs('MODEL_TEMP')},
"max_tokens": @{outputs('MAX_TOKENS')}
}
![](https://assets.st-note.com/img/1675782402668-sFpMs8tNhY.png?width=1200)
最後に、Power Appsに結果を返却するためのアクション「PowerAppまたはFlowに応答する」を追加します。
以下の内容で設定します。
戻り値の名前:result
戻り値:trim(body('HTTP')?['choices'][0]?['text'])
![](https://assets.st-note.com/img/1675782509055-aaxFgZDemU.png?width=1200)
これで設定が完了したので、動作確認していきます。
「パンの作り方」を教えてもらいましょう(^^)/
「パンの作り方を教えて」と入力し、質問ボタンをクリックします。
![](https://assets.st-note.com/img/1675782794605-624k5n73DT.png?width=1200)
ちょっと時間がかかりますが、結果が返ってきました。
![](https://assets.st-note.com/img/1675783215378-ibJVS6DFhS.png?width=1200)
ということで、最近?話題になっていたChatGPTとPower Apps/Power Automateを組み合わせたアプリの紹介でした。
最後まで読んでいただきありがとうございました。