見出し画像

openAIのAPIはgoogleドキュメントで使うときに更新しないように気をつけた方がいい

openAIのAPIを使い始めました。
APIを利用すればネットで完結する作業が自動化できるのではないかと思えたからです。
色々模索して、GAS(google app script)やpythonによる自動化ができそうな気がしています。
プログラミングをあまりしたことがないので、使ったことのあるgooogleドキュメントを通したGASの方が使いやすいです。
openAIのAPIを叩くのもするっとできた気がします。
googleドキュメントでGASを設定して、openAIのAPIをたたいてブログの文章を出力する、ということをしています。
そしてそれをwordpressへ自動投稿するということをしているのですが、とても便利。
openAIの文章をコピペして貼る作業がなくなっただけですが、それでも圧倒的に楽です。
文章を書いてもらっている時点でとても楽になっているのですが、一度便利になるともう戻れません。
そしてその便利さが当然のものになってしまうという。笑
なにせ、楽なものですから。
で、APIをちょっと使えて楽しくなっているのですが、ちょっとだけ悲しいことがありました。
想定よりだいぶトークン(APIの使用量のようなもの)を使ってしまっていたんです。

セルへ入力するとAPIを叩く方式は、入力ミスに気をつけて

Googleスプレッドシートはデータの保持を親切に行ってくれます。
そのため1箇所でも変更箇所が出たらクラウドに保存する仕様になっています。
これが逆に仇になりました。
Googleスプレッドシートのセルに文字を入力したらAPIを叩く方式でGASと連携しました。
そのためセルに文字を入力し、確定(Enter)されるとトークンがかかってしまいます。
これが自分にとってはあまり有効ではない方向に働いて、文字入力が完了していないのにEnterを押してしまって、不完全な内容でAPIを叩いてしまったんです。
半角英数字があるとミスる。
Enterを押してしまえばAPIを叩きにいってしまうため、無駄にトークンを消費してしまう。
急いで消しても後の祭り、しっかりとトークンは消費されていました。
正しい文字を入力してまたAPIを叩くので、消費量は2倍に。
ちょっとでもミスをするとトークン(料金)がかかるので、メモ帳に入力してからコピペでスプレッドシートに入力するようになりました。
…まあ、正しく入力するようメモ帳を利用する以外にも、GASの実行をボタンで行えばいいのですが、ちょっと自分が気をつければいいので現行のままになりました。
一手間増える方がビミョーだと思ったので。

Googleスプレッドシートをそのままにすると、自動更新されてトークンを消費するかも

入力ミスの方はトークンの消費は納得していましたが、同時にトークンがいつの間にか消費されている現象がありました。
GoogleスプレッドシートでAPIを使えばトークンを消費するのはわかります。
けれども夜中に何もしていないのに気づいたらトークンが数十倍使用されていて、びっくりしました。
夜中には一度も使っていないのに。
原因を検索したりopenAIのチャットで確認もしましたが、回答はもらえず。
そのため予想となりますが、googleスプレッドシートが自動更新されて、APIを叩くセルも更新されてAPIを叩きに行ってトークンが消費されている、ということが原因ではないかと思いました。
この予想に至ったのが、googleスプレッドシートを更新したときに、APIの出力結果を示すセルが、「読み込んでいます・・・」とAPIを叩いて結果待ちの表示をしていたからです。
そのため予想にはなりますが、googleスプレッドシートが自動で更新されていて、APIを叩いていてトークンを消費していたのではないかと考えています。
APIを叩くセルを全消ししたらトークンの消費が収まったので、おそらく更新が原因ではないかと思っています。

Googleスプレッドシートでの話とはなりますが、
・APIを叩くセルに間違って入力しない
・セルに文字を入力しAPIが叩かれて結果を得られて使い終わったら、セルの文字は消しておく
という対策をしてトークンを無駄に消費しないようにしています。

この記事が気に入ったらサポートをしてみませんか?