技術ブログ

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

/ 初心者向け

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

ChatGPT APIとGASで業務を自動化しよう!

近年、AIの進化は目覚ましく、特にChatGPTのような大規模言語モデルは、私たちの働き方に革命をもたらす可能性を秘めています。そんなChatGPTの強力な機能を、Google Workspaceの自動化ツールであるGoogle Apps Script (GAS) と連携させることで、日々の業務を劇的に効率化できることをご存知でしょうか?

「でも、GASとかAPIとか、難しそう…」と思われる方もいるかもしれません。ご安心ください! このブログ記事では、GASの基本的な知識があれば、ChatGPT APIと連携して、具体的な業務を自動化する第一歩を踏み出す方法を、初心者の方にも分かりやすく解説していきます。

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

GASは、Googleフォームの回答をスプレッドシートに自動記録したり、メールを自動送信したりと、様々な定型業務を自動化できる強力なツールです。しかし、GAS単体では、高度な文章生成や要約、翻訳といった、人間が持つような言語理解能力を必要とするタスクを実行するのは困難でした。

ここでChatGPT APIの出番です。ChatGPT APIを利用することで、GASから以下のような高度なテキスト処理を依頼できるようになります。

  • 文章の生成: メール文面、ブログ記事のドラフト、SNS投稿文などを自動生成。
  • 文章の要約: 長文の議事録やレポートを短く要約。
  • 翻訳: 多言語間でのスムーズなコミュニケーションをサポート。
  • 質疑応答: 問い合わせフォームへの一次回答や、社内FAQへの自動応答。
  • データ分析の補助: テキストデータからインサイトを抽出。

これらをGASで自動化することで、これまで手作業で行っていた時間のかかる作業を大幅に削減し、より創造的で付加価値の高い業務に集中できるようになります。

連携の準備

連携には、主に以下の2つが必要です。

1. OpenAIのアカウントとAPIキー: OpenAIのウェブサイトでアカウントを作成し、APIキーを取得します。API利用には料金が発生しますが、無料枠もあります。

2. Google Apps Script (GAS) の環境: Googleアカウントがあれば、Googleドライブやスプレッドシートから簡単にGASエディタを開けます。

実際にGASからChatGPT APIを呼び出してみよう!

ここでは、例としてGASからChatGPTに簡単な質問を投げかけ、その回答を取得するスクリプトを作成してみましょう。

まず、GASエディタを開き、以下のコードを貼り付けてください。

function callChatGPT() {
  // ここにあなたのAPIキーを設定してください
  var apiKey = 'YOUR_OPENAI_API_KEY';
  var prompt = '「Google Apps ScriptとChatGPT APIを連携させるメリットは何ですか?」';

  var apiUrl = 'https://api.openai.com/v1/chat/completions';

  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    'headers' : {
      'Authorization': 'Bearer ' + apiKey
    },
    'payload' : JSON.stringify({
      'model': 'gpt-3.5-turbo', // 使用するモデル
      'messages': [
        {'role': 'system', 'content': 'あなたは優秀なアシスタントです。'}, // システムメッセージ
        {'role': 'user', 'content': prompt} // ユーザーからの質問
      ]
    })
  };

  try {
    var response = UrlFetchApp.fetch(apiUrl, options);
    var jsonResponse = JSON.parse(response.getContentText());
    
    // 回答部分を取得
    var answer = jsonResponse.choices[0].message.content;
    
    Logger.log('ChatGPTからの回答: ' + answer);
    
    // スプレッドシートに書き込むなどの処理も可能
    // SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('A1').setValue(answer);
    
  } catch (e) {
    Logger.log('エラーが発生しました: ' + e.toString());
  }
}

コードの説明:

  • YOUR_OPENAI_API_KEY の部分を、あなたのOpenAI APIキーに置き換えてください。
  • prompt には、ChatGPTに投げかけたい質問を記述します。
  • model には、利用したいChatGPTのモデルを指定します。gpt-3.5-turbo は比較的高速でコストパフォーマンスに優れています。
  • messages 配列で、会話の履歴や役割を定義します。'role': 'system' でAIの振る舞いを指示し、'role': 'user' でユーザーの入力を与えます。
  • UrlFetchApp.fetch() を使用して、APIにリクエストを送信します。
  • JSON.parse() でAPIからの返答を解析し、jsonResponse.choices[0].message.content から回答を取り出しています。

この callChatGPT 関数を実行すると、GASのログにChatGPTからの回答が表示されます。コメントアウトされている部分を解除すれば、スプレッドシートに直接書き込むことも可能です。

さらなる活用例

この基本形を応用すれば、様々な業務を自動化できます。

  • スプレッドシートからメール文面を生成: スプレッドシートのA列に顧客名、B列に商品名を入力し、C列にパーソナライズされたメール文面を自動生成する。
  • フォームの回答を要約して通知: Googleフォームの回答が送信されたら、GASがその内容をChatGPTに要約させ、Slackなどで通知する。
  • 顧客からの問い合わせに一次回答: 問い合わせフォームからの質問をChatGPTが分析し、FAQを元にした一次回答を自動作成する。

まとめ

Google Apps ScriptとChatGPT APIの連携は、あなたの業務効率を劇的に向上させる可能性を秘めています。今回ご紹介した基本的な連携方法を参考に、ぜひご自身の業務に合わせた自動化に挑戦してみてください。最初は小さなところからでも、きっと大きな変化を実感できるはずです!

次回は、より実践的な応用例や、エラーハンドリング、コスト管理について掘り下げて解説していきます。お楽しみに!

GAS自動化の導入相談

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

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