Google Apps Script

【GAS】GASでChatGPTのAPIを利用する方法!

ChatGPTのAPIをGoogle Apps Script(GAS)で使いたい方必見です。

今回は、GASでChatGPTのAPIを利用する方法について、初心者の方でも分かりやすく解説していきます。

ChatGPT APIの基本知識

ChatGPT APIは、ChatGPTの機能を自分のアプリケーションやプログラムに組み込むためのインターフェースです。

通常のChatGPTがブラウザ上でしか使えないのに対し、

APIを使えば自分のプログラムから直接ChatGPTの機能を呼び出すことができます。

準備するもの

APIを利用するために必要なものは以下の通りです。

項目説明
OpenAIアカウントAPIキーを取得するために必要
APIキーAPIにアクセスするための認証キー
クレジットカードAPI利用料金の支払いに使用
GASの基本知識JavaScriptの基礎があると望ましい

APIキーの取得手順

  • OpenAIの開発者プラットフォームにログイン
  • 左メニューの鍵マーク「API keys」を選択
  • 「Create new secret key」をクリック
  • キーの名前を入力して作成

重要: 表示されたAPIキーは必ずメモしておきましょう。

一度閉じると二度と表示されません。

GASでの設定方法

スクリプトプロパティの設定

  • Googleスプレッドシートを開く
  • 「拡張機能」→「Apps Script」を選択
  • 左メニューの歯車アイコンをクリック
  • 「スクリプトプロパティ」にAPIキーを設定

基本的なコード実装

function chatGptRequest() {
  const apiKey = ScriptProperties.getProperty('OPENAI_API_KEY');
  const apiUrl = 'https://api.openai.com/v1/chat/completions';

  const messages = [
    {'role': 'user', 'content': '質問内容をここに記述'}
  ];

  const options = {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ' + apiKey
    },
    'payload': JSON.stringify({
      'model': 'gpt-3.5-turbo',
      'messages': messages
    })
  };

  const response = UrlFetchApp.fetch(apiUrl, options);
  return JSON.parse(response.getContentText());
}

メッセージの構造について

APIでは3種類のロールを使用できます:

システムロール

システムとしての振る舞いを定義します。

例:「回答は必ず簡潔にしてください」

ユーザーロール

実際の質問内容を設定します。

例:「日本の首都は?」

アシスタントロール

ChatGPTからの回答を含めて会話を続ける場合に使用します。

応用的な使い方

会話の文脈を保持する

const messages = [
  {'role': 'user', 'content': '日本で一番高い山は?'},
  {'role': 'assistant', 'content': '富士山です。'},
  {'role': 'user', 'content': 'その高さは?'}
]

システムロールの活用

const messages = [
  {'role': 'system', 'content': '回答は必ず100文字以内でまとめてください'},
  {'role': 'user', 'content': '質問内容'}
]

料金体系について

基本料金

  • GPT-3.5 Turbo: 1,000トークンあたり0.002ドル
  • GPT-4: 1,000トークンあたり0.03ドル。

無料トライアル

  • 新規登録時に5ドル分のクレジット付与
  • 有効期限は3ヶ月。

利用上の注意点

利用する際は、以下のような点に注意が必要です。

セキュリティ面

  • APIキーは厳重に管理する
  • スクリプトプロパティを活用する
  • 公開リポジトリにキーを掲載しない。

コスト管理

  • 利用上限を設定する
  • トークン数を適切に制限する
  • 不要なAPIコールを避ける。

まとめ

GASでChatGPT APIを利用することで、様々な業務自動化が可能になります。

基本的な設定さえ押さえれば、比較的簡単に実装できることが分かりました。

ただし、APIキーの管理やコストには十分な注意が必要です。

これからAIを活用した開発を始める方の参考になれば幸いです。

-Google Apps Script