ChatGPTを使って、Googleスプレッドシートをもっと便利に活用したいと考えているものの、
・ChatGPTをGoogleと連携させるとどのような機能が使えるのか分からない…。
・スプレッドシートやドキュメントと連動させたいが、その方法が分からない…。
といった方もいるのではないでしょうか。そこでこの記事では、
・ChatGPTを使ったGASコードの生成
・ChatGPTとスプレッドシート、ドキュメントの連携方法
について解説します。
ChatGPTを活用できる幅が広がる内容となっているので、ぜひ、参考にしてみてください。
INDEX
ChatGPTのAPIでGoogleと連携が可能
ChatGPTはソフトウェアの一部機能を共有できるAPI(Application Programming Interface)によって、ソフトウェアとの連携が可能です。 Googleのサービスと連携する場合は、Google Apps Script(GAS)を使用します。 すなわち、GASにChatGPTのAPIを利用すれば、スプレッドシートやドキュメントにChatGPTの機能を付与できるのです。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >APIキーの取得方法
GASでChatGPTのAPIを実行するには、OpenAIのAPIキーの取得が必要です。OpenAIのAPIキーは「OpenAIの公式サイト」に登録しログインすることで取得できます。手順は以下のとおりです。
まず、公式サイトにアクセスし、アカウントを作成します。
ログインしたら、アカウント作成の画面が出るので必要な情報を入力します。アカウントはグーグルアカウントと連携できるので、法人でなく個人でも利用可能です。
ログインしたら、右上の「Upgrade」をクリックします。
その後、左にある「API keys」をクリックし、必要情報を入力すればAPIキーを取得できます。
発行したAPIキーは他人に利用されないよう厳密に管理する必要があるので、取得の際は十分注意しましょう。
GASを活用してスプレッドシートとChatGPTを連携させる方法
本章では、GASを活用してスプレッドシートとChatGPTを連携させる方法について解説します。具体的には、取得したOpenAI APIキーをGASに反映させ、スプレッドシートとChatGPTを連携させます。
OpenAI APIキーを取得したら、スプレッドシートの「拡張機能」から「App Script」を選択し、管理画面に移動します。
「エディタ」を選択しコードを入力します。はじめは、「function chat」が記載されていますが、こちらは一旦削除してかまいません。
以下、スプレッドシートエディタに入力するソースコードになります。「var apikey =」の後ろにある”取得したOpenAIのAPIキー”をペーストします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
//ChatGPTに必要な情報の設定 var apikey = "取得したOpenAIのAPIキーをペースト" var model = "gpt-3.5-tubo"; var temperature = 0; var url = "https://api.openai.com/v1/chat/completions"; function GPT(content, maxTokens=2048) { if(content){ const requestBody = { "model":model, "messages":[{"role":"user","content":content}], "temperature": temperature, "max_tokens": maxTokens }; const requestOptions = { "method": "POST", "headers": { "Content-Type": "application/json", "Authorization": "Bearer" + apikey }, "payload": JSON.stringify(requestBody) }; var response = JSON.parse(UrlFetchApp.fetch(url,requestOptions).getContentText()); return response.choices[0].message.content.trim(); }else{ return "no result"; } } |
コードを入力したら、「実行」ボタンをクリックします。
すると、承認を求められるので「権限を確認」をクリック。
グーグルアカウントに紐づいたアクセス権限を求められるので、「詳細を表示」をクリックしスプレッドシート名が記載されたページへ移動します。この警告は、一見危険に見えますが、「OpenAIのAPIキーを使用した初めてのアプリ」と認識されている証拠のため、スキップしても問題ありません。
実際に「=GPT(”オススメの本を教えて”)」と入力すると、上記のようにカテゴリ別におすすめの本を紹介してくれます。
ドキュメントでも連携できる
前章で紹介した、スプレッドシートにChatGPTを導入した方法はドキュメントにも転用できます。スプレッドシートと同じ要領で、OpenAI APIキーを取得します。そしてドキュメントの拡張機能から「App Script」をクリックし管理画面に行きます。
管理画面に移動し、「スクリプトプロパティを追加」をクリックし、コピーしたOpenAI APIキーを入力します。
以下、ドキュメントエディタに入力するソースコードになります。スプレッドシートと同じ要領で「var apikey =」の後ろにある”取得したOpenAIのAPIキー”をペーストします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
//API Keyとmodelを設定 var apikey = "取得したOpenAIのAPIキーをペースト" var model = "gpt-3.5-turbo"; var url = "https://api.openai.com/v1/chat/completions"; //ドキュメントにメニューを追加 function addMenu(){ DocumentApp.getUi().createMenu("ChatGPT") .addItem("記事を生成する","generateArticle") .addToUi(); } function generateArticle() { //選択テキストの取得 var doc = DocumentApp.getActiveDocument(); var selectedText = doc.getSelection().getRangeElements()[0].getElement().asText().getText(); if(selectedText){ //ChatGPTに投げる質問 / 必要な情報を設定 var content = selectedText + "についての記事を500文字程度で書いてください"; var temperature = 0; var maxTokens = 2048; var url = "https://api.openai.com/v1/chat/completions"; const requestBody = { "model": model, "messages": [{"role": "user","content": content}], "temperature": temperature, "max_tokens": maxTokens, }; const requestOptions = { "method": "POST", "headers":{ "Content-Type": "application/json", "Authorization": "Bearer " + apikey }, "payload": JSON.stringify(requestBody) } //APIを叩いてChatGPTから回答を取得 var response = UrlFetchApp.fetch(url,requestOptions); var responseText = response.getContentText(); var result_text = JSON.parse(responseText).choices[0].message.content.trim(); //console.log(response) //ドキュメントに出力 var addParagragraph = doc.getBody().appendParagraph(result_text); } //ChatGPTに投げる質問 / 必要な情報を設定 var content = "APIについての記事を500文字程度で書いてください"; var temperature = 0; var maxTokens = 2048; var url = "https://api.openai.com/v1/chat/completions"; const requestBody = { "model": model, "messages": [{"role": "user","content": content}], "temperature": temperature, "max_tokens": maxTokens, }; const requestOptions = { "method": "POST", "headers":{ "Content-Type": "application/json", "Authorization": "Bearer " + apikey }, "payload": JSON.stringify(requestBody) } //APIを叩いてChatGPTから回答を取得 var response = UrlFetchApp.fetch(url,requestOptions); var responseText = response.getContentText(); var result_text = JSON.parse(responseText).choices[0].message.content.trim(); Logger.log(response) } |
実行するとドキュメントのメニューにChatGPTが現れます。
メニューが現れたら、ドキュメントに質問したい内容を打ち込みます。
そして、打ち込んだテキストをドラッグをしながらメニューのChatGPTを選択し、文章を生成するをクリックします。
すると、質問の答えがドキュメントに反映されます。
このようにして、ドキュメントもChatGPTと連携させることができます。
無料版はOpen AIのAPIキーに制限がある
紹介したようにChatGPTをスプレッドシートとドキュメントに連携させるには、OpenAIのAPIキーが非常に重要となります。しかし、無料版ではOpenAIのAPIキーに使用制限があり、無料枠を使い切ると課金しなければなりません。
2023年2月までは登録時に18ドル分の無料クレジットが付与されていましたが、2023年3月からは5ドル分となりました。また、登録してから約3ヶ月間という有効期限が設けられており「無料クレジット分を使い切る」「有効期限切れ」のどちらかになると、OpneAIのAPIキーを取得しても連携できないので注意しましょう。なお、利用の可否についてはUsageから確認できます。
料金は言語モデルによって異なりますが、今回紹介したGASコードで利用したGPT-3.5 Turboは「0.002ドル/1,000トークン」です。料金設定について詳しく知りたい方は、Pricingから確認できます。
GASを使用したChatGPT API操作を学ぶには動画学習がオススメ
本記事では、GASを活用してスプレッドシートやドキュメントとChatGPTを連携させる方法についてご紹介しました。GoogleスプレッドシートやGoogleドキュメントとChatGPTを連動させることで、課題解決までのプロセスが短縮され、より効率的に業務を行うことができます。ぜひ、皆さんもチャレンジしてみてください。
GASでChatGPT APIを使う方法、またビジネスモデルキャンバスの自動作成まで網羅的に学びたいという方には、下記の講座がおすすめです。
[ChatGPT入門] Googleドキュメント、スプレッドシートでChatGPT APIを使うハンズオンコース
このハンズオンコースでは、GoogleドキュメントやスプレッドシートでChatGPT APIを使用する方法を学びます。プログラミングの経験がない人でも、手を動かしながらChatGPTを実践的に学ぶことができます。
\無料でプレビューをチェック!/
講座を見てみるレビューの一部をご紹介
評価:★★★★★
コメント:GoogleドキュメントやスプレッドシートでのChatGPTのAPIの使い方を具体的に解説されていて非常にわかりやすい。コードについても、わからないまま貼り付けて終わりではなく、適度に説明もされていてよかった。
評価:★★★★★
コメント:画面共有しながら、丁寧に教えてくれています。
ChatGPTを活用して、普段使っているGoogleをより便利にしましょう!
最新情報・キャンペーン情報発信中