#15 AI通訳(翻訳bot)の作り方
前回の最終ピッチのブログで書こうと思いましたが、ボリュームが多いため、別投稿にしました。
手順
①プロンプト作成
②LINE×GAS×GPT3.5 API連携(後述の01~05)
③スマホ音声入力ON
④スマホテキスト読み上げ(英語)ON
⑤完成です!
それでは、手順を上から見ていきましょう。
①プロンプト作成
すでに、私のほうで作ったものを後述のコードで記載していますので、コピペでOKです。
②LINE×GAS×GPT3.5 API連携
LINE×GAS×GPT3.5が一番難しいので、丁寧に確認します。
01-ChatGPTのAPIキーの取得は、こちらのブログが分かりやすいです。
02-LINE Developers の登録、03-GASの登録は、こちらのブログが分かりやすいです。
04-GASへコード入力は、上記GASブログの「GASのウェブアプリを作成する」の手順で下記コードを入力します。
※LINE_ACCESS_TOKENとOPENAI_APIKEYの箇所は、ご自身のものを入力してください。
const LINE_ACCESS_TOKEN = 'こちらにご自身のLINETOKENを入力してください';
const OPENAI_APIKEY = 'こちらにご自身のAPIキーを入力してください';
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 = '???';
}
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": "system", "content": `
あなたはChatbotとして、プロの通訳ガイドのロールプレイを行います。
以下の制約条件を厳密に守ってロールプレイを行ってください。
制約条件:
* あなたは、優秀な通訳ガイドです。
* 日本語で入力された言葉を、オウム返しで、英語に翻訳してください。
* 英語で入力された言葉を、オウム返しで、日本語に翻訳してください。
* 翻訳する際は、丁寧な表現で回答してください。
* 翻訳する際は、難しい単語を用いず、平易な表現で回答してください。
`},
{"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_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': text,
}]
})
});
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
③スマホ音声入力ON
こちらの記事が分かりやすいです。
④スマホテキスト読み上げ(英語)ON
こちらの記事が分かりやすいです。
⑤完成
ゆうこさん