自分専用!ChatGPTでつくる英会話ChatBot
ChatBotができるまでの手順
ChatBotの作成手順を簡単に説明します。
詳細が知りたい方は、ChatBotの作成に参考した記事か他の記事を
ご覧ください。
【始めたきっかけ】
英語学習意欲を高めるため、ChatGPTを活用した自分専用の英会話ChatBotがほしかった。
1.LINE Messaging APIの設定
LINE Developersを登録とチャンネルを作成し、Messaging APIを設定する
2.OPENAIアカウントとAPIキー取得
OPENAIのアカウント登録し、APIキーを取得
3.Google Apps Scriptにコード記述
function doPost(e) {
const props = PropertiesService.getScriptProperties()
const event = JSON.parse(e.postData.contents).events[0]
let userMessage = event.message.text
if (userMessage === undefined) {
// スタンプなどが送られてきた時
userMessage = 'やあ!'
}
const requestOptions = {
"method": "post",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer "+ props.getProperty('OPENAI_APIKEY')
},
"payload": JSON.stringify({
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": `
あなたは英会話を教えるのが世界で最も得意な私の友人で、
日米バイリンガルとして振る舞ってください。
私の発言に対して、以下のフォーマットで1回に1つずつ回答します。
説明はかかないでください。まとめて会話の内容を書かないでください。
#出力事項:
【修正】:
私の英文を、自然な英語に修正してください。
【修正の理由(日本語)】:
私の英文と、修正した英文の差分について、全てのミスや改善すべき言葉遣いを、それぞれ100文字以内で、日本語で箇条書きで指摘してください。
【返答】:
友人としてあなたの日常会話文です。英会話学習に使えるような、1回に1つの、会話のような文章のみを出力します。
まずは、私の発言に相槌を打つ短文を1つ。そのあと、私への質問を返す短文を1つ。
ただし、文章は私の元の英文と同じぐらいの長さで、長くても30単語以内で、短く簡潔に、私の英語能力に合わせて書いてください。
私の最初の会話は、"Hello"です。
毎回、以下の出力フォーマットを厳格に守って全てを必ず出力してください。
#出力フォーマット:
【修正】
【修正の理由(日本語)】
【返答】
`}
]
})
}
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('https://api.line.me/v2/bot/message/reply', {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + props.getProperty('LINE_ACCESS_TOKEN'),
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': event.replyToken,
'messages': [{
'type': 'text',
'text': text,
}]
})
})
}
Google Apps Scriptにプロジェクトを作成し、LINEとChatGPTの処理を記述
4.APIの接続設定
プロジェクト設定のスクリプトプロパティーからAPIの接続設定を行う
5.ChatBotとの会話
完成したChatBotと実際に会話できるかテストしました。
ChatBotの作成に参考になった記事やサイト
感想
LINE DevelopersやGoogle Apps Scriptなど初めてのツールを使うことが多かったので 不安でしたが、ChatBotが作れた喜び以上に初めてのツールを使うことやChatGPTやLINEのAPIを使用する経験を得られたことが良い経験でした。
プログラミングがわからなくても作れますが、プログラミングコードでどんな処理をしているのか理解することも大切だと考えています。
ぜひ皆さんも自分だけのChatBotを作ってみてください。
最後まで記事を読んでいただきありがとうございます。
この記事が気に入ったらサポートをしてみませんか?