技術ブログ

GASとChatGPT API連携:業務効率化の第一歩!

/ 初心者向け

GASとChatGPT API連携:業務効率化の第一歩!

GASとChatGPT API連携:業務効率化の第一歩!

皆さん、こんにちは!Google Apps Script (GAS) の専門ブロガーです。

近年、AI技術の進化は目覚ましく、中でもOpenAIが提供するChatGPTは、その自然な対話能力で世界中を驚かせています。この強力なAIを、普段皆さんが使い慣れているGoogle Workspace(Gmail, スプレッドシート, ドキュメントなど)と連携させることができたら、どれほど業務効率が向上するでしょうか?

今回は、GASとChatGPT APIを連携させる方法を、初心者の方にも分かりやすく解説していきます。この連携をマスターすれば、あなたの業務は劇的に変わるかもしれません!

なぜGASとChatGPT APIを連携させるのか?

GASとChatGPT APIを連携させることで、以下のようなことが可能になります。

  • メールの自動返信・要約: 受信したメールの内容をChatGPTに要約させたり、定型文で自動返信したりできます。
  • ドキュメントの自動生成・校正: ブログ記事のアイデア出し、議事録の要約、メール文面の作成・校正などを自動化できます。
  • スプレッドシートのデータ分析・洞察: スプレッドシートのデータを基に、ChatGPTに分析させ、示唆に富む洞察を得られます。
  • フォームからの問い合わせへの自動応答: Googleフォームで受け取った問い合わせに対し、ChatGPTが回答を生成して返信します。
  • コード生成・デバッグ支援: GASのコード作成や、既存コードのデバッグをChatGPTに手伝ってもらうことができます。

これらの例はほんの一部です。アイデア次第で、さらに多くの可能性が広がります。

連携に必要なもの

1. Googleアカウント: GASを使うために必要です。

2. OpenAIアカウント: ChatGPT APIを利用するために必要です。

3. OpenAI APIキー: APIを利用するための認証情報です。

4. GASの基本的な知識: プログラミング経験がなくても大丈夫ですが、簡単なスクリプトが書ける程度だとスムーズです。

OpenAI APIキーの取得方法

まず、OpenAIのウェブサイトにアクセスし、アカウントを作成します。ログイン後、「API keys」のセクションから新しいAPIキーを生成してください。このAPIキーは、他人に知られないように厳重に管理してください。

GASでChatGPT APIを呼び出す基本的な流れ

GASからChatGPT APIを呼び出すには、UrlFetchAppというGASの組み込みサービスを使用します。基本的な流れは以下の通りです。

1. APIエンドポイントの設定: ChatGPT APIのURLを指定します。

2. リクエストヘッダーの設定: APIキーを含めた認証情報や、コンテンツタイプを設定します。

3. リクエストボディの作成: OpenAI APIに送信するプロンプト(指示)やモデル名などをJSON形式で記述します。

4. UrlFetchApp.fetch() でAPIを呼び出す: 設定したヘッダーとボディでAPIリクエストを送信します。

5. レスポンスの解析: APIからの応答(ChatGPTの生成したテキストなど)をJSON形式で受け取り、必要な情報を抽出します。

サンプルコード:簡単な質問応答スクリプト

それでは、簡単な質問応答スクリプトの例を見てみましょう。これは、GASのスクリプトエディタに直接貼り付けて実行できます。

function askChatGPT() {
  // あなたのOpenAI APIキーに置き換えてください
  const OPENAI_API_KEY = 'YOUR_OPENAI_API_KEY';
  const API_URL = 'https://api.openai.com/v1/chat/completions';

  // ユーザーからの質問(例)
  const userQuestion = 'Google Apps Scriptとは何ですか?';

  const payload = {
    'model': 'gpt-3.5-turbo',
    'messages': [
      {'role': 'system', 'content': 'You are a helpful assistant.'},
      {'role': 'user', 'content': userQuestion}
    ],
    'max_tokens': 150
  };

  const options = {
    'method': 'post',
    'contentType': 'application/json',
    'headers': {
      'Authorization': 'Bearer ' + OPENAI_API_KEY
    },
    'payload': JSON.stringify(payload)
  };

  try {
    const response = UrlFetchApp.fetch(API_URL, options);
    const jsonResponse = JSON.parse(response.getContentText());

    if (jsonResponse.choices && jsonResponse.choices.length > 0) {
      const answer = jsonResponse.choices[0].message.content;
      Logger.log('ChatGPTからの回答: ' + answer);
      return answer;
    } else {
      Logger.log('回答が見つかりませんでした。');
      return '回答が見つかりませんでした。';
    }
  } catch (e) {
    Logger.log('エラーが発生しました: ' + e.toString());
    return 'エラーが発生しました: ' + e.toString();
  }
}

コードの解説:

  • YOUR_OPENAI_API_KEY の部分を、あなたが取得した実際のAPIキーに置き換えてください。
  • userQuestion には、ChatGPTに尋ねたい内容を記述します。
  • model には、使用するChatGPTのモデルを指定します(例: gpt-3.5-turbo)。
  • messages は、会話の履歴を保持するための配列です。role には system (AIの役割設定) や user (ユーザーの発言) を指定します。
  • max_tokens は、生成されるテキストの最大長を制限します。

このスクリプトを実行すると、Logger.log によってログにChatGPTからの回答が出力されます。この回答を、Gmailの送信やスプレッドシートへの書き込みなどに活用できます。

応用例:Gmailの自動要約

この基本スクリプトを応用すれば、Gmailの未読メールを自動で要約するといったことも可能です。

1. Gmailのトリガーを設定し、新しいメールが届いた際にGASを実行する。

2. メール本文を取得し、ChatGPT APIに要約を依頼する。

3. 要約結果を、別途スプレッドシートに記録したり、特定のラベルを付けたりする。

このように、GASとChatGPT APIの連携は、定型業務の自動化や、より高度な情報処理を実現するための強力なツールとなります。

まとめ

今回は、Google Apps ScriptとChatGPT APIを連携させる基本的な方法と、その応用例について解説しました。最初は難しく感じるかもしれませんが、一つずつコードを理解し、試していくことで、必ず習得できます。

ぜひ、この連携をあなたの業務に取り入れて、効率化の第一歩を踏み出してください!次回のブログでは、より実践的な応用例について深掘りしていきたいと思います。お楽しみに!

GAS自動化の導入相談

請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。

請求書自動生成ツールを見る / SNS自動投稿ツールを見る