ChatGPT APIとGAS連携:業務効率化の第一歩
/ 初心者向け
ChatGPT APIとGASを連携させる方法
最近、AIの進化が目覚ましいですが、中でもChatGPTは多くの人がその能力に驚いています。そんなChatGPTの能力を、Google Apps Script (GAS) を使って、Google Workspaceの様々なサービスと連携させることができたら、私たちの業務はどれだけ効率化されるでしょうか?
このブログ記事では、ChatGPT APIとGASを連携させるための基本的な方法を、初心者の方にも分かりやすく解説します。簡単なコード例を交えながら、その可能性を探っていきましょう。
なぜChatGPT APIとGASを連携させるのか?
GASは、Gmail、Googleスプレッドシート、Googleドキュメントなど、Google Workspaceのサービスを自動化するための強力なツールです。一方、ChatGPT APIは、高度な自然言語処理能力を持っています。この二つを組み合わせることで、以下のようなことが可能になります。
- メールの自動作成・要約: Gmailに届いたメールの内容を要約したり、返信メールのドラフトを作成したり。
- スプレッドシートのデータ分析・洞察抽出: スプレッドシートのデータを分析し、ChatGPTに解釈させてレポートを作成。
- ドキュメントの自動生成・校正: 資料のドラフトを自動生成したり、既存のドキュメントの校正を依頼。
- FAQボットの作成: 顧客からの問い合わせに対し、ChatGPTが自動で回答。
これらはほんの一例です。アイデア次第で、さらに多くの自動化が実現できます。
連携の準備
連携には、以下のものが必要です。
1. OpenAIのアカウントとAPIキー: OpenAIのウェブサイトでアカウントを作成し、APIキーを取得します。
2. Google Apps Scriptの実行環境: Googleアカウントがあれば、GASはすぐに利用できます。
APIキーの管理
APIキーは機密情報ですので、GASのスクリプトに直接書き込むのは避けましょう。PropertiesService を利用して、スクリプトのプロパティとして安全に管理するのが一般的です。
簡単な連携コード例
ここでは、GoogleスプレッドシートからChatGPTに質問を投げかけ、その回答をスプレッドシートに書き込む簡単な例を見てみましょう。
1. スクリプトエディタの起動
Googleスプレッドシートを開き、「拡張機能」>「Apps Script」を選択してスクリプトエディタを起動します。
2. APIキーの設定
スクリプトエディタの左側にある「プロジェクトの設定」アイコンをクリックし、「スクリプトのプロパティ」タブを開きます。「プロパティを追加」ボタンをクリックし、以下のように設定します。
- プロパティ名:
OPENAI_API_KEY - 値: 取得したChatGPTのAPIキー
「スクリプトのプロパティを保存」をクリックします。
3. GASコードの記述
以下のコードをスクリプトエディタに貼り付けます。
function askChatGPT() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// A列に質問、B列に回答を書き込む想定
var question = sheet.getRange("A2").getValue(); // A2セルの内容を質問として取得
if (!question) {
Logger.log("質問が入力されていません。");
return;
}
var apiKey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');
if (!apiKey) {
Logger.log("APIキーが設定されていません。");
return;
}
var apiUrl = "https://api.openai.com/v1/chat/completions";
var requestBody = {
"model": "gpt-3.5-turbo", // 利用したいモデルを指定
"messages": [
{"role": "system", "content": "あなたは親切なアシスタントです。"},
{"role": "user", "content": question}
],
"max_tokens": 150
};
var options = {
"method": "post",
"contentType": "application/json",
"headers": {
"Authorization": "Bearer " + apiKey
},
"payload": JSON.stringify(requestBody)
};
try {
var response = UrlFetchApp.fetch(apiUrl, options);
var jsonResponse = JSON.parse(response.getContentText());
if (jsonResponse.choices && jsonResponse.choices.length > 0) {
var answer = jsonResponse.choices[0].message.content.trim();
sheet.getRange("B2").setValue(answer); // B2セルに回答を書き込む
Logger.log("回答: " + answer);
} else {
Logger.log("期待される形式で回答が返ってきませんでした。");
Logger.log(jsonResponse);
}
} catch (e) {
Logger.log("エラーが発生しました: " + e.toString());
}
}
4. 実行と確認
1. GoogleスプレッドシートのA2セルに質問を入力します。(例:「日本の首都はどこですか?」)
2. スクリプトエディタに戻り、askChatGPT 関数を選択して実行ボタン(▶)をクリックします。
3. 初回実行時には、スクリプトの実行に必要な権限の承認を求められます。内容を確認し、承認してください。
4. 実行後、スプレッドシートのB2セルにChatGPTからの回答が表示されれば成功です。
さらなる応用に向けて
この例は非常に基本的なものですが、これを基盤として、さらに多くの応用が考えられます。
- 複数の質問への一括回答: スプレッドシートのA列に複数の質問を入力し、ループ処理で一括で回答を得る。
- Gmailとの連携: 受信メールの内容を分析し、要約メールを送信する。
- トリガーの設定: 特定のタイミング(例:毎日午前9時)やイベント(例:スプレッドシートの更新)でスクリプトを実行する。
まとめ
ChatGPT APIとGASを連携させることで、Google Workspaceでの作業を格段に効率化できます。今回ご紹介した内容は、その第一歩に過ぎません。ぜひ、ご自身の業務に合わせてカスタマイズし、AIの力を活用してみてください。
次回は、より実践的な応用例や、API利用時の注意点などについて掘り下げていきます。お楽しみに!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。