LoginSignup
14
18

More than 1 year has passed since last update.

Google Apps ScriptでChatGPTのAPIを叩いてみた

Posted at

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

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

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

ChatGPTのAPIをGoogle Apps Scriptでリクエストする方法は動画でも解説中です↓

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

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

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

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

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を実行するサンプルコードを用意したので、スクリプトエディタにコピーしましょう。

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でサクッとお試ししましょう。

◯参考リンク

14
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
18