
超実践的LINE BOT開発の手引き(予定地)
こちらのURLで実践編を公開予定でしたが、noteの機能的に難しいようでしたので、新たに下記ノートにて公開しました。
興味のある方は、なにはともあれ、こちらのページからBOT API Trial Accountを取得しておいてください。
事前準備
公開までの間、下記ノートを参考に開発環境を整えてください。細かく書いていますが、非常に簡単で手数も少ないです。
事実上無限にスケール
LINE BOTに関しては早速下記のような設計上の課題が指摘されています。
大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ
文中に書かれている通り、MQ系の非同期処理の仕組みを利用することがベストですが、非エンジニアにとって、求められる知識量が増えますし、労働集約的な管理コストも増加します。
Google App EngineにはTaskQueueというAPIが備わっており、シームレスにキューイングの仕組みを利用可能ですので、こちらを利用した実装のソースコードを公開予定です。
データの保存
現段階で公開されているLINE BOTのサンプルコードにはデータ保存の仕組みがないものが多いようです。理由としてはリレーショナルデータベースの設定などの副次的な知識や作業が必要とされるためです。
Google App Engineでは1ファイル中にDatastoreの定義を書くだけで、他の作業は必要なく、データ保存の仕組みを作成できますので、こちらも実装します。
これから検証しますが、恐らく、ユーザのメッセージ履歴毎に異なる反応をするようなBOTを開発することも可能かと思われます。
AIとの連携
Pythonのソースコードとなりますので、Pythonの豊富なAI系のAPIを利用可能です。(ただし、GPUを必要とするもの以外となります)
また、Google Cloud Platformのその他のサービス、例えば、BigQuery等ともシームレスに連携できますので、夢は広がるかと思います。
その他
Google App Engineの場合、LINE側で必要とするIPアドレスが固定でないという問題点が指摘されていますが、月7ドルちょっとで固定IPアドレスも設定可能ですので、シリアスに運用したい場合は何とでもなるかと思われます。