ChatGPT API が相手をしてくれるシンプルな LINE BOT 作成する (後)

ワンフットシーバス 田中です。ChatGPT API が相手をしてくれるシンプルな LINE BOT 作成する 後編です。

前半で動作した enebular Web エディタでつくった LINE BOT を、 enebular クラウド実行環境の仕組みに置き換えた LINE BOT にしてみます。メッセージを送ってみると、OpenAI 社の ChatGPT API が返答してくれます。

目次

前編の内容でうまく動作している前提で進めます

前回の記事(↓)の内容に従って、上記の画像のようにフローがうまく動作している前提で進めます。

ChatGPT API が相手をしてくれるシンプルな LINE BOT 作成する (前)

フローを編集する

クラウド実行環境で動作するようにフローを調整します。

image

上記が、以前エディタ画面で LINE BOT がうまく動作したフローです。すでにクラウド実行環境で必要な LCDP in ノードと LCDP out ノードがあるのでこれに接続し直すだけです。

image

今までは http in ノードでデータの入口を作っていた、こちらのパートに注目します。

image

こちらを http in ノードから LCDP in ノードに接続し直します。

image

今までは http response ノードでデータの出口を作っていた、こちらのパートに注目します。

image

こちらを http response ノードから LCDP out ノードに接続し直します。

image

設定ができたらデプロイしましょう。

クラウド実行環境へのフローの反映

image

ブラウザでエディタのタブを閉じて、以前のタブのフロー詳細画面に戻ります。

image

上部のプロジェクト名をクリックしてプロジェクト詳細画面に戻ります。

image

プロジェクト詳細画面で右メニューのクラウド実行環境をクリックします。

image

クラウド実行環境の一覧が表示されたので、一覧から今回設定するクラウド実行環境をクリックします。

image

クラウド実行環境の詳細が表示されたので、デプロイ ボタンをクリックします。

image

今回作成したフローをクリックしてデプロイ ボタンをクリックします。

image

デプロイ中となります。

image

デプロイ済みになりました。

事前に HTTP トリガーの URL を考えておきます

HTTP トリガーの URL は enebular の他のユーザーやプロジェクトも含めて共有して使っています。

使いたい URL を他のユーザーやプロジェクトが、すでに取得していた場合には設定できずエラーになります。

こちらの記事を参考に、重複しないよう (自分の名前の英語名)-(今回のプロジェクト名)-(今日の日付)-(ランダム値)-linebot と決めておきましょう。

クラウド実行環境での HTTP トリガーに設定する重複しない URL をつくる TIPS

たとえば、

  • 自分の名前の英語名
    • 例:山田太郎 → yamada-taro
  • 今回のプロジェクト名
    • 例:myproject
  • 今日の日付
    • 例:2022 年 10 月 21 日 → 20221021
  • ランダム値

でしたら、yamada-taro-myproject-20221021-2736-linebot のようになります。

クラウド実行環境の設定

image

上部のメニューから設定をクリックします。このままだと設定は入力できずロックされています。

image

設定を編集をクリックします。クリックすると設定が編集できるようになります。

image

HTTP トリガーの項目に注目します。

image

スイッチをクリックして ON にします。

image

HTTP トリガーのパスを、先ほど決めた HTTP トリガーの URL を入力します。

image

下までスクロールして保存ボタンをクリックします。

image

しばらく待つと画面左下に更新に成功しましたとメッセージが出ます。他にエラーメッセージがでなければ成功です。

image

このようにまたロックされて編集できなくなり、設定が完了します。

HTTP トリガー URL の確認

image

HTTP トリガーの項目を確認します。

image

このアイコンをクリックして、クリップボードにHTTP トリガー URL をコピーします。

image

コピーができると、このように「コピーしました」と出ます。

この設定を LINE BOT の Webhook 設定に使用します。

LINE Developers で Webhook の設定をする

image

LINE Developers を、ブラウザの別のタブで開きます。このように今回使う LINE BOT の Messaging API 設定に移動します。

image

スクロールして Webhook 設定の項目を見つけて、編集ボタンをクリックします。

image

先ほどコピーした URL を Webhook URL の欄にペーストして更新ボタンをクリックします。

また、Webhook の利用がオンになっていることも確認してきましょう。まれにオフになっているので、その時はオンにします。

これで LINE BOT の設定は完了です。

動かしてみる

image

今回動かす LINE BOT で「接続チェックしてます!よろしくお願いします!」メッセージを送ってみると、OpenAI 社の ChatGPT API が相手をしてくれます。

サーバレスな AWS Lambda の挙動になるので、最初の 1 回のアクセスはコールドスタートというサーバーの起動込みの動作となり 5 ~ 10 秒程度の間があります。

そのあと、直後に続けてメッセージするのは素早く帰ってきます。しばらくアクセスしていないと、またコールドスタートがはじまります。

参考 :

Lambdaの実行環境について(コールドスタートとウォームスタート)

このように enebular のクラウド実行環境にデプロイすれば、作成した LINE BOT をフローエディタで開発しているときだけでなく、継続して実際に使えます。みなさんもご自分の環境で試してみてください。