LineボットにChatGPTを搭載して自分だけのAIボット作成
今日はMakeを利用して、ChatGPTのAPIをつかった、Lineで会話ができる自分だけのAIボットを作成してみましょう。
APIを使えば、自分好みのLINEBotが作成できて、会話をするのが楽しくなります。
まずは普通のChatGPTさん。寄り添った回答をしてくれますね。
これでも十分ですが、自分好みのキャラクターを設定して会話ができたらもっと楽しくなります。
語尾を「にゃ」にしてください。と内部で設定しただけで、文章がフランクになりました。
奈良の鹿はかわいいにゃ
なぜ、奈良の鹿というワードが出てきたのかな
フランクすぎてビジネス用途には向かないこともあるので、用途に応じて設定してください。
まずはChatGPTのAPIについて費用や作成方法など知りたい方は、下記の記事をご覧下さい。
MakeとLineの連携方法は下記の記事をご覧下さい。
LINEdevelopers登録方法
MakeでLineを動かす方法
MakeでLineとChatGPTを連携させる
最初にMakeの完成図を確認
ではシナリオを確認していきましょう。
やまびこBotを作成された方なら簡単に作成できると思います。
まずは完成図。
LineからMessageが届いたら、ChatGPTが処理をして、Lineへ返すというMakeでは基本的な動作のシナリオです。初心者にもぴったりなシナリオとなります。
(Makeでは、LineやOpenAIなど、ひとつのアイコンをモジュール、そのモジュールが集まったものをシナリオと呼びます)
それぞれのモジュールの設定を説明します。
流れとしては、Lineモジュール→OpenAIモジュール→Lineモジュールとなります。
Make(旧:Integromat)はノーコードで各種サービスを連携できるツールです。
プログラミング初心者でも簡単操作でおすすめです!👉無料で新規登録してみる!
各モジュールの設定方法
Lineモジュール(WatchEvent)設定
まずはlineモジュールで、LINEdevelopersで作成したlineBotをWatchEventで連携させます。
LineモジュールのWatchEventはWebhookを設定するだけですね。
OpenAIモジュール設定
次にOpenAIモジュールを選択して、ChatGPTの動作を下記のように設定していきます
OpenAIモジュールの「Create a Conpletion」の中に、ChatGPTがセットされています。
下記の画面となるので、Connectionをセットします。
上記表示では、MyOpenAI(2023/03/31)という名前で設定してあります。
もし一度もOpenAIモジュールを使用したことが無い場合は、
Addから新たにConnectionを設定してください。
上のスクショにある「Create a connection」からOpenAIのリンクが表示されているので、リンク先からOpenAIのAPI KeyとOrganization IDを貼り付けてください。
OpenAIのAPIとOrganization IDをセットしてSaveをすると、新しいConnectionが保存されます。
次にOpenAIモジュールの設定をしましょう。
Select Method から「Create a Chat Completion」を選択します。
次に「Model」は「gpt-3.5-turbo」または「gpt-4」を選択します。
ChatGPT4はWaitListに登録すると、順番に利用可能となりますので、登録しておくと良いでしょう。(API利用料は3.5の方が安いのでどちらを使うかは、お財布と相談してください)
下記ではChatGPT3.5をセットしました。
ChatGPTモジュールの中身で設定する部分は、「Message」の中身です。
「Item 1」の設定です。
「Role」は「System」、「Message Content」には「語尾に「にゃ」を付けて下さい」と入力します。
Systemに直接設定を行うことで、毎回「語尾に「にゃ」を付けて下さい」と指示しなくても良くなります。
次に「Item 2」(+Add Itemで追加できます)の設定です。
「Role」は「User」、「Message Content」にはLineから届いたメッセージを格納します。
「Message Content」にはLineで届いたMessage(Text)を格納します。
スクショを参考に、Lineモジュールの「Message」→「Text」を選択してください。
Lineモジュール(Send a ReplyMessage)設定
3つめのモジュールはLineのSend a ReplyMessageです。
これもやまびこBotを作成していれば、おなじみのモジュールですね。
最後にlineのReplyTokenを設定したら、返事が返ってきます。
中身は下記のとおりです。ChatGPTの返信メッセージの場所を間違えないようにして下さいね。
ChatGPTの返信用メッセージは「Choices」→「Message」→「Content」に格納されています。
LineBotの動作確認
まずは簡単にあいさつなど送信してみて、返事が来るかどうかやってみましょう。
Makeを使えばあっという間にlineBotが作成できました。
OpenAIモジュールで設定した「語尾に「にゃ」を付けて下さい」という文言を、
自分の好きなキャラクターの性格を設定するだけで、自分好みのLineBotが完成します。
例えば、ベジータを設定して、フリーザについて聞くと、このような回答をしてくれます。
ChatGPTはベジータのことを知っているので、詳細に設定しなくても、ベジータになりきってくれます。
自分だけのLINEBotは愛着が湧くので、ぜひMakeを利用して作ってみて下さいね。
Make(旧:Integromat)はノーコードで各種サービスを連携できるツールです。
プログラミング初心者でも簡単操作でおすすめです!👉無料で新規登録してみる!
履歴を参照させる方法
今回作成したLINEBotは会話の履歴を覚えていません。
本家のChatGPTならある程度の会話履歴を覚えていますが、
APIだと履歴を保存されていないので、過去のやりとりは反映されないのですよね。
これでは少し味気ないですよね。
しかし、Makeにはデータを保存できる機能があります。
次回はMakeのデータベースを利用する方法を綴りたいと思います。
コメント