Twitterでgoogle spreadsheetでChat GPTを動かすGASの投稿が増えてきたので、気になって自分でも試してみました。
spreadsheet chatGPT – Twitter Search / Twitter
ChatGPTを提供するOpenAIのAPIの連携がうまくいかなかったので、うまくいった方法を書きたいと思います。
結論から言うと、OpenAIでクレジットカード情報を入れて使えるようにしないとAPIがうまく動かないかないようでした。クレジットカード情報を入れて30分くらい時間を置いたら、うまく動きました。
Google検索で見つけた解説ページをまずは試してみた
下記ページを参照。
ChatGPTをグーグルスプレッドシートに連携する方法【コピペでOK】 | CAREER MEDIA(キャリアメディア)
API keyの設定までうまくいって設定してみましたが、エラーコード429のエラーが出てうまくいかない。。
ちなみにページで紹介されてるコードをコピペするとダブルコーテーションのエラーが出るので「”」半角のダブルコーテーションに一括置換してから、GASにコピペするといいです。
ChatGPTに聞いて自分でOpenAIのAPIを確認するコードを書いてみる
https://chat.openai.com/chatで、Chat GPTにコードの書き方を聞いてみました。
tell me how to use OpenAI API in google spreadsheet
と聞くとコードを出力してくれたので、それをGASに登録して試してみた。

エラーが出てうまく動かなかったのでクレカ情報を登録してみた
https://beta.openai.com/account/billing/overview
からクレカ情報を登録。
Usage limitで支払い金額の上限を設定できる。$10に設定しといた。

OpenAIで支払い情報を入力して30分くらい時間が経ったら、GASのAPIエラーが出なくなった!感動!
「煮干しラーメン凪」のタグをコンマ区切りで教えてください。「#」は入れないでください。
というテキストで「ラーメン、煮干し」と出力できた!

動作確認したテスト用コードはこんな感じ
function myGPT(prompt){
var apiKey = "API keyを入力";
var endpoint = "https://api.openai.com/v1/completions";
var data = {
"model": "text-davinci-003"
};
data.prompt = prompt || "「煮干しラーメン凪」のタグをコンマ区切りで教えてください。「#」は入れないでください。";
var options = {
"method": "post",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer " + apiKey
},
"payload": JSON.stringify(data)
};
var response = UrlFetchApp.fetch(endpoint, options);
const responseObj = JSON.parse(response);
const answer = responseObj.choices[0].text.replace(/\r?\n/g,"");
console.log(answer)
return answer;
}
課金されてるけど大した金額じゃなかったからどんどん使っていこう!
https://beta.openai.com/account/usage
で使用状況を確認してみた。費用対効果を考えても全然使える!
店名のタグ検索結果の利用で52回タグ表示したら、$0.10の課金。

Model usageのプルダウンを見るとこんな感じ。tokenという単位で課金額が決まってるっぽい。

店名からタグ表示するChat GPTのプロンプトの調整
すごい煮干ラーメン凪 新宿ゴールデン街店本館のタグを教えてください。コンマ区切りにしてください。「#」は入れないでください。1文字のタグは入れないでください。同じキーワードが含まれるものは入れないでください。
というプロンプトで、結果がこれ。

1文字の店名のタグを除外したいがうまくいかないので、正規表現を使って調整してみようと思う。
まとめ
とりあえず、spreadsheetでChatGPTが無事に使えてよかった。
人間による内容の事実確認が最終的に必要にはなるけど、
人に店名からのタグ入力を頼む時の労力を考えるとChatGPTによるspreadsheetでの出力はだいぶ使える。
人に頼むと下記のタスクがかかると思うんだけど、それを簡略化できる。
・その人のスケジュール調整
・他タスクとの調整
・指示内容を文章化して指示だし
・理解度の確認
・コンマ漏れや、誤字脱字のチェック
・ファクトチェック
・作業の給与計算
MicrosoftがOpenAIに出資というニュースがあったので、近々Office製品に導入されてみんな使えるようになるとして、その使い勝手を今の段階で知ることができてよかった。