サイトアイコン Googleスプレッドシート 完全攻略

『ChatGPT(OpenAI)』をGoogleスプレッドシートで動かす方法

コピペでできるGASの一覧
ChatGPTの一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【コピペでできる】 GoogleドキュメントにGスプレッドシートからデータを差し込む
  • Googleドキュメントの定型文にGoogleスプレッドシートのデータを差し込むことができます。
  • GASがなんのことかわからなくてもコピペで簡単にできます。
  • さらに自分用に簡単にカスタマイズできます。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    なので、サクッとマスターして

    と答えてあげてください。

     

    OpenAIをスプレッドシートで動作させる

    さっくりイメージ

    ChatGPTを使用すると謳っていますが、ChatGPTのAPIは公開されていないので
    厳密にはChatGPTではなくOpenAIのAPIを使用します。

    動画はこちら

    シートはこちら

    *クリックすることでシートが開きます。(コピーしてお使いください)(シート内のGPT関数は、作成後削除しています。)

     

     

     

     

    準備

    OpenAI アカウントの作成

    Open AIのサイトでアカウントを作成します。

     

    Step1.
    ①以下のサイトを開きます。

    Product
    Our API platform offers our latest models and guides for safety best practices.

     

    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.

    以下を開きます。

    Just a moment...

     

    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キーで例が表示されます。

     

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    ChatGPT x GAS スプレッドシートからメール送信処理を自動生成してみた(OpenAI)
  • ChatGPT(OpenAI)を使用していきなりメール送信処理を自動生成できます。
  • OpenAIのすごさを垣間見る事ができます。
  • ChatGPTの一覧

     

     

    モバイルバージョンを終了