【個人開発】ChatGPTっぽい対話がLINEで手軽にできる「GPT応答AIダヴィンチさん」

2022年12月の技術界隈のトレンドをかっさらったのは、文章生成AIのChatGPTでした。

ChatGPTは現時点ではウェブサービスとしてのみ利用可能です。

LINEのトークで文章生成AIとの対話を手軽に楽しめたらと思い、LINE bot「GPT応答Aiダヴィンチさん」を個人開発しました。

# ChatGPTみたいなAIとの応答をLINEで

2022年11月にOpenAIより発表された文章生成AI「ChatGPT」は、日本でも大きな話題を集めています。

Qiitaでも12月からChatGPTに関する記事が多数投稿されています。

応答には誤りが含まれていることがあるものの、入力プロンプトに適した内容で自然な日本語で返してくれます。
![Snipaste_2023-01-07_00-28-45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/65bf43c7-1803-c8ad-741d-c97a48383844.png)
ChatGPTはWebサービスとしてのみ提供されていますが、LINEトークで対話できると簡単かつ楽しいなと思い浮かびました。

# LINE bot「GPT応答AIダヴィンチさん」を個人開発

そこで、メッセージングアプリのLINEでもChatGPT風のAIとのやり取りを楽しむことができるLINE bot「GPT応答AIダヴィンチさん」を個人開発しました。
![20230110_auto_002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/ff604d9e-39a1-8eaa-64c5-6194754fd370.jpeg)
下記のQRコードをまたはリンクから友達追加できます。
![855jizlm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/6ea45477-8b1b-60c8-adf0-e47b1ec1219d.png)
https://line.me/R/ti/p/%40855jizlm#~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/79dc3d80-3f89-801c-fa3e-7bc9b6d0f3fb.png)
LINE botとのトークで質問やメッセージを送ると、それに適した応答結果が得られます。
![20230115_auto_001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/78b5a480-bc86-314e-ac57-b5cecd4fccce.jpeg)
ChatGPTはWebサービスでしか公開されておらず、利用には会員登録も必要です。

一方、「GPT応答AIダヴィンチさん」はLINE友だち追加するだけで、日本人の多くが使い慣れたLINEのインターフェースで楽しめます。

https://auto-worker.com/blog/?p=7033
# ChatGPTはAPIがないため、別の文章生成AIをAPI利用

ChatGPT自体はAPIが公開されていないため、個人開発では利用できませんでした。
**※スマホアプリなどでChatGPTと銘打っているものもありますが、ChatGPTではありません。**

ChatGPTと同じではないものの、ChatGPTを開発したOpenAIが提供している、GPT3.5系自然言語処理モデルの文章生成AIを「GPT応答AIダヴィンチさん」では利用しています。
![Snipaste_2023-01-08_12-58-50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/76741ea9-e7ac-0dc6-d05e-8a8077fe47a7.png)
[OpenAI APIページ](https://openai.com/api/)

応答内容の正確性や尤もらしさなど、応答性能はChatGPTに劣るものの、一般的なAI応答よりも優れています。

※OpenAIの利用登録とAPIキー発行方法はYoutubeに解説動画を掲載しています。

<iframe width="100%" height="400" src="https://www.youtube.com/embed/3fTG7Jt6XRU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

# Google Apps Script × Line Messaging APIでLINE bot開発

今回の「GPT応答AIダヴィンチさん」を個人開発にあたっては、Google Apps Script(GAS)を使用しました。

GASはちょっとしたWebアプリケーションを作るのに便利です。

WebAPIのリクエストも十数行のコードで実現でき、OpenAIのAPIリクエストも簡単に実装できました。

https://auto-worker.com/blog/?p=7007

Line botの開発に使用するLINE Messaging APIと簡単に連携できます。

https://auto-worker.com/blog/?p=5141

こうしたOpenAIのAPIとLINE Messaging APIをGASで組み合わせて、以下の処理で「GPT応答AIダヴィンチさん」は稼働しています。

1. ユーザーがLINEトークでメッセージを投稿する
1. LINE Massaging APIからWebhookで投稿内容をGAS受け取る
1. 投稿内容をOpenAIの文章生成AIにAPIリクエスト
1. APIレスポンスをLINEに返信

非常にシンプルな構成のため、1月7日~9日の3連休で開発しました。

# 実行条件などの注意点

LINE bot「GPT応答AIダヴィンチさん」は、LINEトークで手軽に文章生成AIと対話できますが、いくつかの制限事項を設けています。

* プロンプトの文字数は5文字以上80文字以下
* 1日で対話できるのは3回まで

どちらもAPI使用量の節約が目的です。

「あ」や「ｐ」といった入力ミスを防ぐため、4文字以下の投稿はAPIリクエストしないようになっています。

文章生成AIのAPIは入力プロンプトと出力文の文字量に応じたトークンによって課金されるため、80字よりも長いプロンプトも受け付けないようになっています。
![20230115_auto_002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/0b2553d5-3800-0df6-cbc4-23f37c842f36.jpeg)
**英語の場合は1トークン≒1単語ですが、日本語は1文字=少なくとも1トークンなので、英語でのAPI利用よりもAPI使用量が高くなる傾向にあります。**

無料のサービスとして多くの方に使っていただくため、こうした制限を設けていることにご理解ください。

# 終わりに

今回、個人開発したChatGPT風の応答ができるLINE bot「GPT応答AIダヴィンチさん」を紹介しました。

**「ChatGPTみたいなやり取りをLINEで利用できたら手軽に利用できて対話が面白い」** と思って作ってみました。

デタラメな内容を返信することもありますが、自然な日本語の応答を返してくれます。

「GPT応答AIダヴィンチさん」のLINEアカウントを友だち追加するだけで使えるので、LINEトークでAIとの会話を楽しだり、質問に答えてもらいたい場合にご利用ください。

**「GPT応答AIダヴィンチさん」をLINE友だち追加↓**
![855jizlm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365005/6ea45477-8b1b-60c8-adf0-e47b1ec1219d.png)
https://line.me/R/ti/p/%40855jizlm#~
# 参考URL

https://auto-worker.com/blog/?p=7033

https://www.youtube.com/watch?v=3fTG7Jt6XRU

https://auto-worker.com/blog/?p=7007

https://auto-worker.com/blog/?p=5141