🎆

ChatGPTのAPIをGoogle Apps Script(GAS)で試してみた

2023/03/04に公開

とうとうChatGPTのAPIが使えるようになりました。

というわけで、早速ChatGPTのAPIをGoogle Apps Script(GAS)で叩いてみたいと思います!

※ChatGPTのAPIをすぐに試したい場合は、無料でササッと使えるGASがオススメです。

ChatGPTのAPIをGoogle Apps Scriptでリクエストする方法は動画でも解説中です↓
https://www.youtube.com/watch?v=JLrD6wmwIis

まずAPIキーを用意しよう!

ChatGPTのAPIを叩くためにはAPIキーが必要になります。

下記の記事でOpenAIのAPIキーを取得する手順を解説しています。

https://auto-worker.com/blog/?p=6988

メアドと携帯電話番号を用意してサクっと登録しましょう。

APIキーを発行し、文字列をコピペしておきます。

APIキーはスクリプトプロパティに保管

APIキーはコードに直書きしてもよいですが、うっかりコードを公開すると、APIキーが漏洩します。

悪い人に見つかると、勝手にバカバカとAPIが叩かれるので、Google Apps Scriptのスクリプトプロパティに保存しておきましょう。

APIKEYというプロパティに、APIキーの文字列を値として保存します。
Snipaste_2023-03-03_06-59-25.png
スクリプトプロパティに格納しておけば、下記の形で呼び出しできます。

  const apiKey = ScriptProperties.getProperty('APIKEY');

Google Apps ScriptでChatGPTのAPIをシンプルに実行

まずは最もシンプルにChatGPTのAPI叩いてみます。

下記記事にChatGPTのAPIを実行するサンプルコードを用意したので、スクリプトエディタにコピーしましょう。

https://auto-worker.com/blog/?p=7438

Snipaste_2023-03-02_16-46-50.png
GASを初めて実行時に求められる初回認証を許可すれば、スクリプトが実行されます。

このようにきちんとChatGPTの応答文を得られました。
Snipaste_2023-03-02_16-44-37.png

過去のやり取りに応じた応答文をChatpGPTから返してもらおう

先ほどのは超シンプルなコードだったので、ChatGPTの強みは発揮できていません。

ChatpGPTの凄さを感じるために、7行目で定義したパラメータのmessagesを変更しましょう。

  const messages = [
    {'role': 'user', 'content': '日本で最も人口の多い都市はどこですか?'},
    {'role': 'assistant', 'content': '東京です。'},
    {'role': 'user', 'content': 'その次はどこですか?'},
    {'role': 'assistant', 'content': '横浜市です。'},
    {'role': 'user', 'content': 'その次はどこですか?'},
  ];

過去のChatpGPTへの投稿文と応答文も含めると、やり取りに応じた応答結果が返ってきます。
Snipaste_2023-03-02_17-23-24.png
「次は?」や「続きを」といった文脈を汲んだ応答が欲しい場合はこの形でAPIを叩きましょう。

システムとしてChatpGPTにルールを命令しよう

messagesに設定できるroleにはsystemロールがあります。

フォーマットとしてアシスタントに指示する役割です。

これによって、「毎回語尾に特定ワードをつける」や「前提条件を設けた上でChatGPTに回答させる」といった挙動が可能です。

先程変更したmessagesを再度、以下のように変更します。

  const messages = [
    {'role': 'system', 'content': '語尾は80%の確率でニャン、20%の確率でシャーをつけてください。'},
    {'role': 'user', 'content': '元気が出ないので励ましてください。'},
  ];

ネコのような2つの語尾をつけてもらう振る舞いをChatGPTにセットし、ユーザーの投稿文を送ってみます。
Snipaste_2023-03-02_17-24-58.png

初回は語尾ではないものの、きちんと確率も配慮して語尾にニャンとシャーがついてきています。

不特定多数のユーザーからの応答を受け付ける前にシステムロールから振る舞いを指示しておけば、特徴あるチャットボットが作成可能です。

終わりに

ChatGPTのAPIをGoogle Apps Scriptで試してみました。

今回はシンプルな形から、過去のやり取りに応じた形、システムによるフォーマットと基本的な3パターンを試してみました。

このパターンを組み合わせたり応用すれば、ChatpGPTのAPIで色々活用できます。

Google Apps Scriptは無料で手軽に使えるので本当にオススメです。

ChatpGPTのAPIを試したいなぁと思ったら、Google Apps Scriptでサクッとお試ししましょう。

◯参考リンク

https://platform.openai.com/docs/guides/chat

https://auto-worker.com/blog/?p=7428

https://auto-worker.com/blog/?p=6988

https://auto-worker.com/blog/?p=7438

Discussion