ChatGPTと連携する方法をお探しですね。

広告

LINEで使える!ChatGPTボットを自分で作ってみよう

普段ChatGPTを使っていて、「毎回ブラウザ開くの面倒だな」「LINEで友だちとやりとりするみたいに、気軽にAIと話せたらいいのに」って思ったことありませんか?実は、Googleが無料で提供しているGoogle Apps Script(GAS)と、LINEのMessaging API、それからOpenAIのAPIを組み合わせると、自分だけのオリジナルチャットボットが意外と簡単に作れちゃうんです。

この記事では、プログラミングがはじめての人でもわかるように、仕組みの説明から実際の作り方、さらに自分好みのキャラクターを持たせる方法まで、ていねいに説明していきますね。

1. LINE BotとChatGPTをつなぐ仕組み

そもそも、私たちが使っているLINEと、文章を作るのが得意なChatGPTは、まったく別のサービスです。

だから、そのままではつながりません。

そこで必要になるのが、二つのサービスの間に入って、メッセージを行ったり来たりさせる「橋渡し役」です。

その役目を果たすのが、今回使うGoogle Apps Script(GAS)なんです。

GASはGoogleドライブ上で動くプログラムで、難しいサーバーの準備とかしなくても無料で使えます。

だから、個人でボットを作りたい人にすごく人気があるんですよ。

流れはこんな感じです。

まず、あなたがLINEでメッセージを送ります。

すると、LINEのサーバーから「Webhook」という仕組みを使って、そのメッセージがGASに届きます。

GASはそれを受け取って、OpenAIのAPI(ChatGPTの頭脳部分)に「この質問に答えて」ってお願いします。

AIが答えを作ってGASに返してくれたら、GASはそれをLINEのサーバー経由であなたの画面に表示させます。

こうやって、GASが間に入ることで、まるでAIと直接話しているような体験ができるわけです。

この方法のいいところは、高いレンタルサーバーとか面倒な設定がいらないことです。

普通、ウェブサービスを公開するにはサーバーを借りて、セキュリティ設定とかメンテナンスとかしないといけません。

でもGASなら、Googleアカウント一つで全部できちゃいます。

それに、ChatGPTのAPI利用料も、個人で使う分にはすごく安い(使った分だけ払う仕組み)ので、お金をかけずに高性能なAIチャットボットが作れるんです。

2. 必要なAPIキーを準備しよう

チャットボットを作るために最初にやることは、各サービスを使うための「鍵(APIキー)」をもらうことです。

必要なのは「OpenAI API Key」と「LINE Messaging APIのアクセストークン」の2つ。

これは、外部のプログラムがそれぞれのサービスを使うための許可証みたいなもので、とっても大事な情報です。

まず、OpenAIの公式サイトにアクセスして、アカウントを作ってAPIキーを発行しましょう。

注意点として、OpenAIのAPIは本格的に使うにはクレジットカードを登録して、少しでもいいのでお金をチャージしておく必要があります(プリペイド式になっています)。

最初は少額からでOKです。

次に、LINE Developers(開発者向けのサイト)にログインして、新しい「チャネル」を作ります。

ここで出てくる「チャネルアクセストークン」と「チャネルシークレット」が、GASとLINEをつなぐのに必要になります。

この画面では、ボットのアイコンや名前も設定できて、QRコードで自分のLINEにボットを友だち追加することもできます。

あと大事なのが、LINE公式アカウントの管理画面で「応答メッセージ」をオフにして、「Webhook」をオンにすることです。

これをやっておかないと、AIからの返信と一緒に、LINE側が用意した定型文(「メッセージありがとうございます」みたいなやつ)が一緒に送られちゃうことがあります。

APIキーの管理には気をつけてください。

これが他の人に知られちゃうと、勝手にAPIを使われて高額請求が来たり、ボットが悪用されたりする危険があります。

特に、作ったコードをブログやSNS、GitHubで公開するときは、キーの部分は絶対に隠すか、環境変数を使ってコードに直接書かないようにしましょう。

3. GASでプログラムを書いてみよう

準備ができたら、いよいよGoogle Apps Script(GAS)でプログラムを書いていきます。

Googleドライブの「新規」メニューから「Google Apps Script」を選んで、エディタを開きます。

ここに書くコードは、大きく分けて2つ。

LINEから送られてきたデータを受け取る部分(`doPost`関数)と、そのデータをChatGPTに送って返事をもらう部分です。

プログラミング初心者の人には難しそうに見えるかもしれませんが、やっていることは「データを受け取る」→「AIに送る」→「返事を返す」っていうシンプルな3ステップです。

コードを書くときは、さっき取得した「LINEのアクセストークン」と「OpenAIのAPIキー」を変数として書き込みます。

そして、OpenAIへのリクエストを設定します。

ここで選ぶ「モデル(gpt-3.5-turboとかgpt-4oとか)」によって、答えの質や速さ、料金が変わってきます。

最初は安くて速い「gpt-3.5-turbo」でテストして、もっと高度な答えが欲しくなったら上位モデルに変えるのがおすすめです。

LINEへの返信には `UrlFetchApp` というGAS専用の機能を使って、正しいJSON形式でデータを送り返します。

コードが書けたら、最後に必ず「デプロイ」をします。

これは、書いたプログラムをウェブ上に公開して、外部(LINE)からアクセスできるようにする作業です。

GASの画面右上の「デプロイ」ボタンから「新しいデプロイ」を選んで、「ウェブアプリ」を選びます。

ここで超重要なのが、アクセスできるユーザーを「全員」にすることです。

これを自分だけにしちゃうと、LINEのサーバーからのアクセスが拒否されて、ボットが全然反応しなくなっちゃいます。

デプロイが終わると「ウェブアプリのURL」が出てくるので、それをコピーして、LINE Developersの管理画面にある「Webhook URL」の欄に貼り付けます。

これで連携完了です!

4. ボットに「キャラクター」を持たせよう

ただ質問に答えるだけのボットじゃつまらないですよね。

ChatGPT APIを使う一番の楽しみは、ボットに「キャラクター」や「役割」を持たせられることなんです。

これを実現するのが「システムプロンプト(System Role)」の設定です。

APIにメッセージを送るとき、ユーザーの質問だけじゃなくて、開発者からの「指示書」も一緒に送れます。

たとえば、「あなたは大阪のおばちゃんです。

親しみやすい関西弁で、飴ちゃんをあげるようなテンションで話してください」っていう指示をシステムロールとして設定すると、AIはその設定を守って返事を作ってくれます。

この仕組みを使えば、特定の分野に詳しいアドバイザーとか、英会話の練習相手とか、悩みを聞いてくれる優しいカウンセラーとか、いろんなボットが作れます。

設定方法は簡単で、GASのコードの中でAPIに送るメッセージ配列(messages)の最初に、`role: “system”` として指示内容を追加するだけです。

プロンプトを工夫すれば、語尾を「〜だワン」にしたり、答えの長さを制限したり、あえてクールな態度をとらせたり、自由自在にカスタマイズできます。

ただし、GASを使った簡単なボットだと、過去の会話を覚え続けるのが難しいっていう課題もあります。

普通の実装だと一往復ごとのやり取りになるので、「さっきの話だけど」みたいな文脈を理解させるには、過去の会話をスプレッドシートとかに保存して、毎回AIに読み込ませるような追加の工夫が必要になります。

まずは基本的な一問一答形式のボットを完成させて、キャラクター設定で遊びながら、少しずつ機能を増やしていくのが、挫折しないで楽しむコツです。

自分だけのAIパートナー作り、ぜひチャレンジしてみてください!

広告