見出し画像

【ブログ記事高速作成】Googleスプレッドシート×OpenAIを使ったシステムの作成方法

初めまして。Excelブログを通して仕事の作業効率化を推進している
しんたろ。です。

今回「OpenAI」×「Googleスプレットシート」を活用して、ブログ記事を高速で作成するためのツールを作成する方法を解説します。

人工知能の発展により、文章生成や自動応答システムの技術が進化しています。その中でもOpenAIのGPT-3は、多様なタスクに対して高い精度を発揮し、注目を集めています。

今回出てくる用語の解説です。

『GPT-3』
自然言語処理技術を用いて、人工的に文章を生成したり、自動応答システムを作成することができます。

『Googleスプレッドシート』
誰でも簡単に使えるスプレッドシートアプリケーションであり、ビジネスや日常生活で広く利用されています。

本記事では、Googleスプレッドシートを使って、OpenAIのGPT-3を利用する方法を紹介します。Googleスプレッドシート上で、GPT-3を呼び出し、文章を生成したり、自動応答システムを構築することができます。

Googleスプレッドシートを使ってGPT-3を利用することで、プログラミングの知識がなくても、簡単に文章生成や自動応答システムを構築することができます。

『Googleスプレッドシート』×『OpenAIのGPT-3』を組み合わせたシステムの作り方を学び、よりスマートで効率的なビジネスや日常生活を実現してみましょう!


1.料金について

Googleスプレットシート
無料で使用できます。

GPT-3
アカウント登録時に18$相当のクレジットが付与され、このクレジットは3ヶ月間有効となっており、新規登録から3ヶ月すぎるまでは、OpenAIのAPI利用時に18ドル分のクレジットが充当されます。
そのため、トライアルでOpenAIのAPIを利用する場合、このクレジットの範囲内で収まれば、無料利用可能です。

いきなり料金が発生するなんてことは絶対ないので安心してください。
ですが、改めて『登録してから3ヶ月』&『$18以内』が無料です。


2.システム構築の流れ

今回のシステムを作る工順を説明します。

1.OpenAIのアカウントを作成
2.OpenAIのAPIキーを取得
3.GoogeスプレットシートのApps Script(GAS)でスクリプト作成
4.作成したGPT関数でGoogleスプレットシートに実装

作業自体は10分以内で作成できます。

今回、Googleアカウントを既に持っている前提で進めていきますので、Googeアカウントを持っていない方は登録をお願いします。


3.事前準備

3-1.OpenAIのアカウント取得方法

「GPT-3」を使うために早速OpenAIに登録していきましょう。
以下のリンクよりOpenAIに登録します。登録は無料でできます。

https://openai.com/api/

右上の『SIGN UP』をクリック
OpenAIアカウント作成

アカウント作成の画面が表示されたら

  1. メールアドレスを入力

  2. 『I'm not a robot』にチェック

  3. 『Continue』をクリック

  4. パスワードを入力

  5. 使用目的は適当でOK

以上でアカウント作成が完了します。
また、上図の赤枠からGoogleアカウントやMicrosoftアカウントでも登録できます。

OpenAImy画面
登録が完了すると、このページに飛びます。


3-2.OpenAIのAPIキーの取得方法

続いて、OpenAIのサービスを利用するためにAPIキーを取得します。

以下のリンクからAPIキー取得ページに飛べます。
※Google翻訳が入っていると正しく表示されない場合があるので、翻訳はOFFにしてください。

『create new secret key』をクリックするとAPIキーが生成されます。

OpenAI key画面

取得したことがあるAPIキーに関しては、頭文字と語尾4文字だけ表示されます。

一度表示されたAPIキーは、セキュリティの観点から再び表示できませんので、忘れないようにメモなどに必ず保存するようにしてください。

※もしAPIキーを忘れた場合は、もう一度生成する必要があります。



4.OpenAIのGPT-3をGoogleスプレッドシートで使う方法

4-1.GPT-3を呼び出すためのコード説明

GPT-3を呼び出すためのスクリプトコードをGoogleスプレッドシートに追加することで、スプレッドシート上でGPT-3を利用することができます。

具体的には、Google Apps Scriptを使って、GPT-3を呼び出すJavaScriptのスクリプトコードを作成します。スクリプトコードには、GPT-3のAPIキー、GPT-3のモデル名、テキスト生成時のパラメータ(温度や最大トークン数など)を指定する必要があります。


4-2.コードをGoogleスプレッドシートに追加する方法

スクリプトコードをGoogleスプレッドシートに追加する方法は、以下の手順になります。

  • Googleスプレッドシートを開き、ツールバーの「拡張機能」をクリックして「Apps Script」を選択します。

Googeスプレットシートの場所
『スプレットシート』をクリック
Googleスプレットシート新規作成
『空白』をクリック



  • 『Apps Script』で、新しいプロジェクトを作成します。

GoogleスプレットシートApps Script
『拡張機能』の『Apps Script』をクリック
Googleスプレットシートコード
デフォルトの画面が出てきます。
『function myFunction(){}』を全部削除した状態にしてください。



  • GPT-3のJavaScriptコードを貼り付けます。

以下のコードがGPT関数を使うためのコードになります。
コードを全部コピーして、貼り付けてください。

/**
* 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 = "********************************";
//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/

googleスプレットシートにコード貼り付け


4-3.APIキーを入力

これで9割完成しています。
が、最後にやることがあります。
先程取得したAPIキーを11行目のSECRET_KEYにある『 ※ 』に入力していきましょう。

※前後の『” ”』(ダブルクォーテーション)を消さないように注意してください。


4-4.コードの説明

今回使用している『GPT-3』は、4つの機械学習モデルを提供しています。
それぞれ性能が違い、値段も違うので解説していきます。

const MODEL_NAME = "text-davinci-003"

4つのモデル

text-davinci-003
最も優れたモデル。自然言語処理における最先端の技術を用いたAIモデルで、様々なタスクに対して高い精度での応答が可能。その精度は、人間との会話においても自然で滑らかな応答を返すことができるほど高く、様々な業務において活用される。

text-curie-001
text-davinci-003と並ぶ優秀さで低価格。

text-babbage-001
文法的な正確性や意味的な関連性を考慮したテキスト生成に優れているとされていて、低コスト。

text-ada-001
シンプルな処理に向いていて、最も低価格で高速。

openai金額表

冒頭でも書きましたが、アカウント登録時に18$付与されます。
残りがどれくらい残っているか確認する方法は、『OpenAI』の右上にある自分のアカウントから『Manage account』 にて確認ください。

openai残金確認
私の画面ですが、まあまあ使ってる。



5.実装

骨組みが終わりましたので、実際に動かしてみましょう。

1.上段の『保存(実行ボタンの左)』→『▷実行』をクリック

googleスプレットシート実行画面

2.最初の一回目は以下アラームが出るので『権限を確認』をクリック
3.自分のアカウントをクリック

承認画面

4.警告が出ますが、臆せず『詳細を非表示』→『無題のプロジェクト(安全ではないページ)に移動』をクリック→『許可』をクリック

5.もう一度『保存』→『▷実行』をクリック

再度実行画面
googleスプレットシート実行ログ

『実行ログ』にて実行完了が出れば設定は完了です。

これで『GPT関数』が使えるようになりました。


5-1.GPT関数の活用方法

GPT関数の活用方法

今回の作成する内容は、上の図を参考に作っていきます。
セルA2以降の列に検索キーワードを入れると

  • タイトル

  • 導入文

  • 構成案

  • 要点

上記4つを作成してくれる関数を組んでいきます。


5-2.GPT関数の引数説明

GPT(“質問内容”,[オプション:MAXの文字数(正確にはトークン数)])

Excelやってる方は、すぐピンとくると思います。
関数に慣れていない方は、こういうものなんだとイメージするだけでOKです。


5-3.キーワードに対してタイトルを考えてほしい時の事例

たとえば、キーワード「卵焼き 作り方」についてタイトルをAIに考えてもらいたい時は、セルB2に以下の関数を入力します。

=GPT($A2&"とGoogle検索するユーザーのニーズに応える&B$1&"を1つ考えてください。:",2000))

これを訳すと

GPT(”卵焼き 作り方”とGoogle検索するユーザーのニーズに応える”タイトル”を1つ考えてください。文字数2000で)

となります。

「$」マークは何?と思う方がいらっしゃると思いますが、こちらは絶対参照といってコピペしても$が付いている列または行が固定されます。
基本Excelと同じですので、「自分でアレンジしたい」という方で理解を深めたい方は、以下のリンクにて詳しく解説していますのでご参照ください。

>>コピペするとズレる?絶対参照でズレる問題を簡単に解決する方法

5-4.作成手順

では実際に作っていきましょう。
その前にまずはサンプルをお見せします。


1.下図を参考に1行目を作成してください。

GPT関数のデモ

2.『セルB2』に以下の関数を入力してください。

=IF(ISBLANK($A2),,GPT($A2&"とGoogle検索するユーザーのニーズに応える"&B$1&"を1つ考えてください。:",2000))

3.『セルC2』に以下の関数を入力してください。

=IF(ISBLANK($A2),,GPT($B2&"の"&C$1&"を300文字で簡潔に考えてください。:",2000))

4.『セルD2』に以下の関数を入力してください。

=IF(ISBLANK($A2),,GPT($B2&"の"&D$1&"を簡潔に教えてください。:",2000))

5..『セルE2』に以下の関数を入力してください。

=IF(ISBLANK($A2),,GPT($B2&"の"&E$1&"を箇条書きに簡潔に教えてください。:",2000))

関数の骨組みは完成です。
試しにA2に『Excel 転職 年収』とキーワードを入れると下図のように数秒で生成してくれます。

googleスプレットシート完成

もし行を増やしたい場合は
① 2行目をクリックして行全体を選択している状態で『Ctrl + C』

googleスプレットシート完成1

② 増やしたい行だけ左クリックしながら選択

googleスプレットシート完成2

③ 『Ctrl + V』で完成。

googleスプレットシート完成3

しっかり関数もコピペされています。


6.よくあるエラーの対処方法

Q : よく『#Error』が発生する。
A : AIが混み合っている可能性があります。キーワードを再度入力し直してみてください。


7.まとめ:今後の活用方法についての展望

GPT-3の活用はますます進化し、より高度な自動化が可能になると考えられます。

例えば、GPT-3を用いて、文章や回答を生成するだけでなく、生成した文章や回答を自動的に編集し、品質を向上させるような応用も可能です。また、GPT-3を用いて、より高度な自然言語処理や会話システムの構築など、新たな活用法も期待されます。

新しいことを見つけ次第、随時更新していくので、Twitterも併せてnoteのフォローを宜しくお願いいたします♪

また、今回のレビューを引用リツイート頂けると更にがんばれます!
何卒宜しくお願いいたします(*^^*)


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