こんにちは!
現役高校3年生のstak, Inc.で働いているニノ(二宮)です!
今回は自社LINE公式アカウントにChatGPTを搭載する方法について解説していきます!
YouTubeにはChatGPTの使い方のショート動画を投稿しているのでぜひYouTubeも御覧ください!
他のプログラム言語より始めるのが簡単な「Google App Script」を使って実装をしていきます!
今回は既に公式LINEアカウントを持っている前提で解説を行います。
もしLINEアカウントを持っていない場合はコチラの記事を参考にアカウントを作成してください!
https://www.linebiz.com/jp/column/technique/20190418-3/
サンプル
今回実装するLINE公式アカウントはコチラから試していただけます。
WebHookの利用設定
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7ecfe1-547a-4758-a909-d7b36b120909_1474x1050.png)
まずは「LINE Developers」にアクセスして、「Console(コンソール)」にアクセスしてください。
https://developers.line.biz/console/
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd89c9cd-2249-4605-9de0-d53b9d391b83_2211x1575.png)
アクセスするとアカウントの選択画面になるので、ゲストの対応に使用するアカウントを選択してください。
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa5e20-0071-4f4e-8878-4f5b5793a5cb_1464x1030.webp)
そしたら「Messaging API」を選択し、「Webhookの利用」にチェックを入れてください。
会話のためのコードを貼り付け
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf3e12a7-cbac-40d5-9a7c-c02a9db1fc73_1464x1030.webp)
次にGoogle App Scriptを開き、「新しいプロジェクト」をクリックしてください。
https://script.google.com/home
そしたらすでにあるコードをすべて消し、以下のコードを貼り付けてください
const LINE_TOKEN = 'ここを変えてください';
const OPENAI_APIKEY = 'ここを変えてください';
function doPost(e) {
const event = JSON.parse(e.postData.contents).events[0];
const replyToken = event.replyToken;
let userMessage = event.message.text;
const url = 'https://api.line.me/v2/bot/message/reply';
if (userMessage === undefined) {
userMessage = 'undefined';
}
const prompt = userMessage;
const requestOptions = {
"method": "post",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer "+ OPENAI_APIKEY
},
"payload": JSON.stringify({
"model": "gpt-3.5-turbo",
"messages": [
{"role": "user", "content": prompt}]
})
}
const response = UrlFetchApp.fetch("https://api.openai.com/v1/chat/completions", requestOptions);
const responseText = response.getContentText();
const json = JSON.parse(responseText);
const text = json['choices'][0]['message']['content'].trim();
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + LINE_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': text,
}]
})
});
return ContentService.createTextOutput(JSON.stringify({'content': 'OK'})).setMimeType(ContentService.MimeType.JSON);
}
このコードの「LINE_TOKEN」と「OPENAI_APIKEY」を書き換える必要があります。
LINE_TOKENの取得
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f464c3a-a7f7-46bc-8751-584f6fb17700_1398x1032.webp)
先程開いたLINE Developersの「Messaging API」タブの一番下にある「チャネルアクセストークン」というものをコピーします。
コピーしたものを先程のコードの「LINE_TOKEN」に貼り付けてください。
OpenAI APIの取得
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd845f161-9f96-4d69-9606-0699b437a771_1398x1032.webp)
次に、OpenAIからAPIキーを取得します。
「OpenAI API Key」にアクセスします。
https://platform.openai.com/account/api-keys
「create new secret key」 をクリックして、シークレットキーをコピーします。
コピーしたものを先程のコードの「OPENAI_APIKEY」に貼り付けてください。
これでコードの設定は完了です。
次は実行可能にしましょう!
コードを使用可能にする
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0820dc7-ee2e-4a48-be19-50ab83dd520d_1398x1032.webp)
先程のコードをデプロイします。
右上の大きい青色の「デプロイ」と言うボタンをクリックし、「新しいデプロイ」
「種類の選択」の横の歯車を押して「ウェブアプリ」を選択します。
そしたら「アクセスできるユーザー」を「全員」にしてデプロイをクリックし、認証します。
LINE公式アカウントと紐付け
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d1637eb-3a8f-4a5d-9227-db72cdfc9c5b_1398x1032.webp)
デプロイ後に出てくる「URL」をコピーし、「Messaging API」の「Webhook URL」という所に貼り付けます。
貼り付けたらLINE公式アカウントが完成です!
友達に追加して会話してみてください!