ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- ChatGPTをスプレッドシート上で実現できます。
- ざっくりOpenAIがわかります。
なので、サクッとマスターして
と答えてあげてください。
OpenAIをスプレッドシートで動作させる
さっくりイメージ
ChatGPTを使用すると謳っていますが、ChatGPTのAPIは公開されていないので
厳密にはChatGPTではなくOpenAIのAPIを使用します。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)(シート内のGPT関数は、作成後削除しています。)
準備
OpenAI アカウントの作成
Open AIのサイトでアカウントを作成します。
Step1.
①以下のサイトを開きます。
Step2.
①「SIGN UP」をクリックします。
Step3.
①「Email address」にあなたのEmailアドレスを入力し「Continue」をクリックします。
または、「Continue with Google」をクリックします。
Step4.
①あなたの電話番号を入力します。
②「Send code」をクリックします。
Step5.
①スマホに「OpenAI API認証コード」が送られてくるので6桁のコードを「Enter code」に入力します。
Step6.
①何のためにOpenAIを使うのかを答えます。
例)「I’m exploring personal use」をクリックします。
アカウント作成が完了すると以下の様な画面が表示されます。
以下の画面が表示された場合は、チェックします。
OpenAI API Keyの取得
Step1.
以下を開きます。
Step2.
①「Create new secret Key」をクリックします。
Step3.
①APIキーをコピーします。
※APIキーの画面は、初回しか表示されないのでスクリプトプロパティに設定するまでは、この画面を開いておきます。
スクリプトプロパティにAPI Keyを設定
Step0.
スクリプトエディタを開きます。
①スプレッドシートを開き「拡張機能」ー「Apps Script」をクリックします。
Step1.
①「プロジェクトの設定」をクリックします。
Step2.
①下にスクロールします。
②「スクリプトプロパティを追加」をクリックします。
Step3.
①「APIKEY」と入力します。
②コピーしたAPI Keyをペーストします。
③「スクリプト プロパティを保存」をクリックします。
スクリプト
以下のスクリプトをコピーし、スクリプトエディタに貼り付けます。
/**
* OpenAI(GPT-3)に質問します。
*
* @param {"ChatAPIって何?"} prompt 質問する文字列
* @param {[800]} max_tokens トークン数[任意] (デフォルト1000)
* @return {string} GPT-3から返却された答え
* @customfunction
*/
function GPT(prompt, max_tokens = 1000) {
const MODEL_NAME = "text-davinci-003" // more structured and deterministic: for data
const MODEL_TEMP = 0.3
const SECRET_KEY = PropertiesService.getScriptProperties().getProperty('APIKEY')
const url = "https://api.openai.com/v1/completions"
const payload = {
model: MODEL_NAME,
prompt: prompt,
temperature: MODEL_TEMP,
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()
}
使用方法
スプレッドシート上で
=GPT(“質問”)
とやれば答えてくれます。
使用例
A2セルが空でない場合のみGPT関数に文字列を渡す場合
=if(ISBLANK(A2),,GPT(A2))
となります。
2023年3月2日 追記
※動画内のスクリプトでは、スプレッドシートに=GPTと入力しても
関数の説明が表示されなかったので
const SECRET_KEY = PropertiesService.getScriptProperties().getProperty('APIKEY')
const url = "https://api.openai.com/v1/completions"
の2行をGPT関数内に移動することで表示されるようにしました。
これで=GP まで入力すると関数の説明が表示されます。
さらにTABキーで例が表示されます。
最後までご覧いただきありがとうございます。
つぎはこちら
コメント