Morikatron Engineer Blog

モリカトロン開発者ブログ

GeneralTalker APIを使ったLINE botの作り方

………………………………

★ご注意★ 本記事で紹介しているGenetralTalker APIは、その公開を終了しました。 詳しく知りたい/さわってみたい方はモリカトロン(https://morikatron.com/contact/)までご連絡ください。 ………………………………

モリカトロンの宮本です。

弊社では、AIとの雑談を実現する GeneralTalker API を公開しています。
雑談を必要とする様々なシステムに組み込んで延々と無駄話を繰り広げていただくことが可能です。

前回はこのAPIを使った Twitterボットの作り方をご紹介しましたが、今回はLINEボットの作り方をご紹介します!

GeneralTalker API とは?

GeneralTalkerは、モリカトロンで開発したGPT-2ベースのAIモデル「AI会話ジェネレーター」を利用したWebAPIです。

GeneralTalkerのAPIを(チャットボットなど)ご自分のプログラムから呼び出す方法は、Rakuten RapidAPIのページをご覧ください。GeneralTalkerにはTwitter、Slack、LINE、その他一般的なボット用の4種類のAPIをご用意しております。

LINE上でGeneralTalkerを利用したサンプルのボットを稼働中です。
以下のQRコードから友達登録出来ますので、是非ご自分のアカウントから話しかけてみてください。

LINE Developersへの登録

LINE APIを使用するために、まずはLINE Developersに登録しましょう。
(LINEのアカウントがある方は簡単に登録出来ます。)

LINE Developers

サイトの右上にある「ログイン」から登録が可能です。

「LINEアカウントでログイン」→「QRコードログイン」をクリックすると、QRコードが表示されます。


このQRコードをスマートフォンで読み込んでLINEアプリで開くと、認証番号が表示されますので、スマートフォンに入力してください。

アカウント名とメースアドレスを入力し、利用規約に同意するチェックを入れて「アカウントを作成」をクリック。
(入力前にウィンドウの右下にあるメニューから日本語に切り替えておくと良いです)

以下の画面がでたら登録は完了です。

チャンネルの作成と設定

「新規プロバイダー作成」をクリックして、ボットに使う設定を作成していきます。

プロバイダー名を入れて「作成」をクリック。
(プロバイダー名はボットを提供する会社や個人の名前で良いと思います)

つぎはチャンエルの作成です。
ボットでは Messaging API を使いますので、「Messaging API」をクリック。

必須項目を設定していきます。
「チャンネルの種類」「Messaging API」を、「プロバイダー」は先ほど作成したプロバイダーを選択します。

「チャンネル名」はボットの名前に相当するものです。「チャンネル説明」には簡単な説明をいれておきましょう。「大業種」「小業種」には業種を設定します。

「メールアドレス」を入力します。

利用規約に同意するチェックを入れて「作成」をクリック。

確認ダイアログが出るので、「OK」をクリック。

以上でチャンネルの作成が完了しました。
次は「Messaging API」の設定です。

「応答メッセージ」の右にある「編集」をクリック。(Line Official Account Managerのサイトに移動します)

定型メッセージで応答しないように「応答メッセージ」をオフにします。
また、「Webhook」はオンにします。
設定したら、「Messaging API設定」をクリックします。

「Channel secret」はAPIを使うために必要な情報になりますので、控えておきましょう。(「コピー」でクリップボードにコピーできます)
「Webhook URL」にはボットのサーバーのURLを入力します。URLの最後に /callbackを付けて「保存」をクリック。
「LINE Developers」をクリックしてLINE Developersのサイトに戻りましょう。

「Messaging API」をクリック。

チャンネルアクセストークン「発行」 をクリック。

発行されたチャンネルアクセストークンはAPIを使うために必要な情報になりますので、控えておきましょう。(トークンの右側にあるアイコンでクリップボードにコピーできます)

以上で設定は完了です!

ボットの作成

ボットのサンプルコードをGithubで公開しています。
https://github.com/morikatron/snippet/tree/master/line_bot_sample

各種apiキーの設定

line_bot.py に各種apiキーを記入してください。

Morikatron GeneralTalker API のキーの設定

generaltalker_url: str = "https://generaltalker.p.rapidapi.com/on_line/"
generaltalker_headers: Dict[str, str] = {
    'x-rapidapi-key': "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    'x-rapidapi-host': "generaltalker.p.rapidapi.com"
}

LINE APIキーの設定
先ほど取得したチャンネルアクセストークンとチャンネルシークレットを使います。

line_bot_api: LineBotApi = LineBotApi('xxxxxxxxxxxxx')  # チャンネルアクセストークン
handler: WebhookHandler = WebhookHandler('xxxxxxxxxxxxx')  # チャンネルシークレット

起動する

はい、後は起動するだけです!

python line_bot.py

ボットに話しかけてみよう

QRコードで友達追加

Line Official Account Managerのサイト(https://manager.line.biz)で登録用のQRコードが取得できます。
(アカウントリスト→ボットのアカウントをクリック→友だちを増やす)
QRコードをスマートフォンで読み込んで、友達登録すると会話が出来るようになります。

制限

テキストのメッセージには反応しますが、スタンプや画像には反応しません。(既読にはなります)

まとめ

・GeneralTalker API に登録
・LINE Developersへの登録とチャンネル作成
・サンプルコードに各APIのキーを入れて起動
と、これだけで雑談用LINEボットを作ることが出来ました!!
人間より早く反応してくれるので、最高の話し相手になりそうですね!!!
是非、GeneralTalker API をご活用ください。