ChatGPTで使われているGPT3.5をLINEで使えるようにしてみた

IoT

自然な会話と的確な回答でChatGPTが話題になっていますね。筆者も使ってみて、そのすごさに驚きました。ただ、PCを立ち上げてOpenAIにログインして使うのは面倒だなー、もっと簡単な方法で使えないかなーとも思いました。そこで、会話といえばLINEということで、LINEから会話の文を送って、OpenAIからの回答を得られるようにしました。

構成は以下の図のようになっています。LINEで質問文を入力した後に、6つの要素を経由して回答を得るという大がかりな内容になっています。技術力のある人であればもっとシンプルにできるのではないかと。。。

各要素の役割は以下のようになっています。
①スマホのLINE
 スマホのLINEからAIに質問文を送り、回答を得ます。今回の仕組み上、質問を送るトークと回答を得るトークは別々になります。いけてない・・・

②LINE Developers Messaging API
 質問文をほかのデバイスで処理できるように、LINE DevelopersのMessaging APIを使ってPOSTします。

③Google スプレッドシートのマクロ
 LINE Developers Messaging APIとSlackをつなぐ役割をします。ラズパイをサーバとして公開すれば③、④は不要となりますが、公開するとIPアドレスやドメイン名の取得やセキュリティ対策で大変です。そのため、ラズパイは公開せずSlack boltのAPIを用いて、Line Developersがpostするメッセージを取得することにしました。ただ、Slack boltが想定しているPOSTされるメッセージの構成がLINE Developersのものと異なっています。そのためGoogleスプレッドシートのマクロ機能を使って、Line DevelopersのPOSTを受けて、SlackのwebhookへとPOSTする中継を行うことにしました。

④Slack
 Slack boltを使って、Googleスプレッドシートからslackに投稿されたメッセージ(LINEからの質問文)をラズパイで取得できるようにします。Slack自体は使いません。。。

⑤ラズパイ
 Slack bolt for pythonを使って、Slackから投稿された質問文を取得し、OpenAIに送り回答を得ます。得た回答は、LINE Notifyを使って、LINEへと送り返します。

⑥OpenAI
 ChatGPTで有名な組織です。ChatGPTにも使われているAIモデルのGPT3.5をAPI経由で利用できます。合計で18ドルまでは無料で使えるようです。

⑦LINE Notify
 ラズパイがOpenAIから取得した回答文をLINEへと送るためにLINE NotifyのAPIへとPOSTします。

Googleスプレッドシートのところだけは、自分でコードを書く必要がありますが、LINE DevelopersやSlack boltの他の部分は使い方の説明通りにやりました。

手軽にAIの進歩を試せるようになりますよ!

コメント

タイトルとURLをコピーしました