【永久保存版】ChatGPT と Google Spreadsheet を連携した自動リサーチツール作成マニュアル※テンプレコード付き
1.ご挨拶
SEIMEI株式会社及び経営者保険ホールディングス株式会社代表取締役の津崎です。
1.1 ツイートの紹介
2023年1月24日に私が投稿した、360万インプレッションを獲得した
『ChatGPT』×『スプレッドシート』の活用方法に関して解説させて頂きます。
月間2,000万PV以上を誇るITmedia様から取材を受けるなど大バズりしました。
『ChatGPT』×『スプレッドシート』を活用することでリサーチ業務が自動で一瞬で完了します。(まだ精度の改良の余地はありますが)
サンプル動画はこちらです。
1.2 GPT-3関数とは
最初に断りを入れておきますが、今回はChatGPTを直接活用しておりません。
(ChatGPTのAPIは解放されておりません。)
ChatGPTを開発しているOpenAIが提供してるこの「ChatGPT」のベースとなっている自然言語処理AI「GPT-3」という技術を今回活用します。
以下に簡単にOpenAI、ChatGPT、GPT-3の違いをまとめております。
1.3 作業工程
続いては、作業工程について簡単に説明します。
★GoogleSpreadsheet「GPT-3」を使用する手順
①OpenAIのアカウント取得
②OpenAIのAPI Keyを取得
③Google Apps Script(GAS)でのスクリプト作成
④作成したGPT-3の関数をGoogleスプレッドシートに実装
10分あれば簡単に初めての方でも準備ができるくらい簡単な作業です。
2. 事前準備
2.1 OpenAIのアカウント取得
「GPT-3」を使用するには、開発したOpenAIのAPIが必要です。
まず、以下のリンクからOpenAIに登録します。
アカウント作成の画面が表示されたら、
・メールアドレスを入力
・「I’m not a robot」にチェックを入れる
・「Continue」をクリック
・パスワードの入力
・使用目的など簡単な質問に答える
以上でアカウントを作成できます。
他にもGoogleアカウント or Microsoftアカウントでも登録可能です。
2.2 OpenAIのAPI Keyを取得
続いては、「GPT-3」など、OpneAIのサービスを利用する為に、OpenAIの API Key を取得していきます。
以下のリンクから添付の画面ページに移行できます。
"create new secret key"をクリックすると自動で生成されます。
https://beta.openai.com/account/api-keys
取得済みのAPI Key(シークレットキー)は、前後数文字だけ表示されます。
セキュリティの観点から、再び閲覧することはできませんので、別で保存しておくことを推奨します。
※シークレットキーを紛失した場合は、新しいキーを生成する必要があります。
3. GASでスクリプト作成
GoogleSpreadsheetにGASを書いて、GPT-3関数を使えるようにしていきます。
3.1 Apps Script を展開
新規または既存のGoogle Docsドキュメントを開いて、”拡張機能" メニューをクリックし、"Apps Script" を選択します。
まだコードが書かれていないページが出てきます。
3.2 GASにコードを添付
こちらがGPT-3関数を活用する為のコードとなります。
以下のコードを真っさらなページにコピーしてください。
/**
* GPT-3 and Google Sheets
*
* @param {string} prompt Prompt.
* @param {number} temperature (Optional) Temperature.
* @param {string} model (Optional) GPT-3 Model.
* @return Response returned by GPT-3.
* @customfunction
*/
const SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//const MAX_TOKENS = 10;
const MODEL_NAME = "text-davinci-003"; // more structured and deterministic: for data
//const MODEL_NAME = "davinci"; // more flexible and creative: for stories, chatbots
const MODEL_TEMP = 0.3;
function GPT(prompt,max_tokens=30) {
const url = "https://api.openai.com/v1/completions";
const payload = {
model: MODEL_NAME,
prompt: prompt,
temperature: MODEL_TEMP,
//max_tokens: MAX_TOKENS,
max_tokens: max_tokens
};
const options = {
contentType: "application/json",
headers: { Authorization: "Bearer " + SECRET_KEY },
payload: JSON.stringify(payload),
};
const res = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
return res.choices[0].text.trim();
}
(参考サイト:https://lifearchitect.ai/sheets/)
3.3 コードの解説
const MODEL_NAME = "text-davinci-003";
GPT-3は、主に4つの機械学習モデルを提供しており、それぞれのタスクに適した性能の違いがあります。
Davinciは最も高性能なモデル、対して、Adaは最も高速なモデルです。
//const MAX_TOKENS = 10;
.
.
.
function GPT(prompt,max_tokens=30) {
const url = "https://api.openai.com/v1/completions";
const payload = {
model: MODEL_NAME,
prompt: prompt,
temperature: MODEL_TEMP,
//max_tokens: MAX_TOKENS,
max_tokens: max_tokens
};
[max_tokens]
生成される文章の文字数(正確にはトークン数)の上限を、関数の引数で指定できる様にアレンジしました。デフォルト値は30です。
3.4 シークレットキーの添付
スクリプトコード内の「SECRET_KEY」に、OpenAIのHPで取得したAPI Key(シークレットキー)を入力します。
const SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
3.5 認証作業
スクリプトを作動させるために、認証作業を行う必要があります。
手順は以下の通りです。
①プロジェクトを保存
②実行を選択
③権限を確認
④アカウントを選択
⑤詳細を選択
⑥安全ではないページに移動
⑦許可を選択
貼り付けたスクリプトコードに問題がなければ、Googlespreadsheetで、関数GPT() が使える様になっているはずです。
4.GPT-3関数の実装
続いては、GPT-3の関数をGooglespreadsheetに実装していきます。
4.1 サンプルの提示
まずはサンプルを提示します。
4.2 GPT関数の説明
具体的に関数を書くと下記の通りです。
=GPT($A2&"の"&B$1&"を簡潔に教えてください:",1000)
▶︎最後の1000は文字数でここは任意に変えても大丈夫です。
“生成する文章の内容”で自由に指示を変えることができます。
色々私が試した中で、『簡潔に教えてください』がベストでした。
4.3 GPT関数の使い方
XXを教えてくださいのXXの部分をセルで指定することで、関数を毎回変更することなく、コピペで無限に情報を提示させることができます。
例えば、A列と1の行でそれぞれ情報を2つ記載すれば
○○のXXはなんですか?
という情報を返すことができます。
『A2=TOYOTA』の『B1=URL』の答えをB2で返すことができます。
絶対参照の$も付けてるので、B2の関数をコピーするだけで他のセルの関数も勝手に設定されます。(毎回変更する必要無し)
また、ISBLANK関数は空白だったら、XXという指示を出せます。
上記の場合で言うとA2が空白の場合は" " と空白を返すようにしております。
目的はA列に文字がなくてもエラーが出ないようにする為です。
以下の画像のようにA列に文字がないと変な回答をしてしまいます。
詳しくはこちらを確認
関数があまり得意でない方は、GPT関数を実装後、上記のスプレッドシートのページ自体をコピーいただければそのまま行列を変更するだけで活用できます。
5. 最後に
ここまでご覧いただきありがとうございました。
まだ、日本語の精度はイマイチではありますが、リサーチ業務が完全AIに奪取される未来が見えたかと思います。
アドオンを使ってOpenAIを活用する解説記事は多くありますが、このnoteはGASを直接編集する方法を解説しました。
GASを触れて、初めて独自にカスタマイズできて他者と差別化ができます。
引き続き、ChatGPT関連の情報や新たなAI周りの情報を発信していきますので、noteやTwitterをフォローいただけると幸いです。
この記事が気に入ったらサポートをしてみませんか?