生産性爆上がり!Google sheet(スプレッドシート)xChat-GPTのコラボ!

ChatGPTの概要や活用シーンなどを記事で解説しましたが、今回は実際にChatGPTとスプレッドシートを連携させた活用方法を紹介致します。
今回は下記のようにスプレッドシートの値を読み取って結果を返してくれるような実装をしていきます。

目次

ChatGPTの機能を組み込めるOpenAI APIとは?

2023年2月時点ではChatGPTはWebサービスからのみ利用可能です、しかしChatGPTの元になっているGPT-3のサービスは外部と連携可能なAPIが公開されており、利用することでChatGPTのようなサービスを機能として実装出来ます。
また将来的にはChatGPTのAPIサービスを提供予定で、待機リストも公開されているものの現状すぐに誰でも利用できるという訳ではないです。
料金ですが APIの料金としてはChatGPTのような文章生成AI一番高性能なLanguage ModelのDavinciで1000トークンで$0.0200になります。
またOpenAIのアカウントを解説すると、3か月間利用できる18ドルの無料クーポンが付帯します。

トークンですが1単語につき1トークンになっています、例としては「Apple」で1トークンになります。
ただ日本語で尚且つ漢字やひらがなでも、それぞれトークンのカウント数が違う(増える)のでOpenAIのPlaygroundから事前に確認して下さい。

ChatGPT(OpenAI)とGoogle sheetを連携させる手順

ChatGPT(OpenAI)とGoogle sheetを連携させる手順

OpenAIとGoogle sheetは以下の手順で確認することが出来ます。

  1. OpenAIのアカウント取得
  2. GoogleAppScriptの設定
  3. APIキーの設定
  4. ボタン設定
  5. 動作確認

1.OpenAIのアカウント取得

OpenAIアカウントを解説する為に以下のサイトにアクセスして下さい。
OpenAI API


右上のSIGN UPをクリックして、BOTではないかの認証があるのでクリックして次に進んでください。
アカウント作成のページが出るので、そこでアカウントを作成して下さい。
GoogleアカウントかMicrosoftアカウントを利用することも出来ます。
パスワードや簡単な質問に回答する必要があるのでアナウンスに従って入力してください。
またサインアップには電話認証が必要になるので事前に用意して下さい。
アカウントを作成したら以下のサイトにアクセスしてAPIキーを取得する為に「+ Create new secret Key」をクリックして下さい。
OpenAPI-keys

APIキーが発行されます、あとで利用するので保存しておいて下さい。

2.GoogleAppScriptの設定

Google sheetを開いて「拡張機能」から「Apps Script」を選択してください。

デフォルト記載されているfunction myFunction(){}を削除して下記コードを記載して下さい。

function generateText() {
var api_key = ScriptProperties.getProperty('APIKEY'); // OpenAI APIのダッシュボードから取得したAPIキー
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var promptCell = sheet.getRange("A1"); // プロンプトが入力されたセルの範囲を指定
var prompt = promptCell.getValue();
var model = "text-davinci-003"; // 使用するOpenAIモデルのID
var headers = { "Authorization": "Bearer " + api_key, "Content-Type": "application/json" };
var data = {
"model": model,
"prompt": prompt,
"temperature": 0.5, // 生成されるテキストの多様性を制御するためのパラメータ
"max_tokens": 1024 // 生成されるテキストの最大トークン数を制御するためのパラメータ
};
var options = {
"method": "POST",
"headers": headers,
"payload": JSON.stringify(data)
};
var response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", options);
var json = JSON.parse(response.getContentText());
var generatedText = json.choices[0].text;
var outputCell = sheet.getRange("B1"); // 生成されたテキストを出力するセルの範囲を指定
outputCell.setValue(generatedText);
}

3.APIキーの設定

次に1で設定したAPIキーを設定していきます。

AppScriptの「プロジェクトの設定」からスクリプトプロパティの「スクリプトプロパティを追加」をクリックしてプロパティにAPIKEY、値に1で保存したAPIキーを設定して下さい。

4.動作確認

上記の操作で準備は完了です。
最後にGoogleSheet上で操作できるようにボタンを設定します。
GoogleSheetの「挿入」から「図形描写」をクリックして適当な図形を挿入します。
図形を右クリックして「スクリプトの割当」をクリックしてgenerateTextを入力して下さい。

CellのA1に調べたい値を入力し設定したボタン(図形)をクリックするとCellのB1に結果が出力されます。
OpenAIの仕様で空欄の際には適当な文書が出力されたり、ChatGPTより精度は劣るところもあるので注意は必要ですがGoogleSheetとOpenAIの組わせで様々な業務を効率化出来そうです。
ちなみに上記のApps ScriptのコードはChatGPTから出力されたものをベースにしておりAI活用の有効性を改めて感じています。

Recruit

現在、生成系AI事業急成長のため

積極的に人材採用を行なっています

ChatGPT講演会承っております!

  • URLをコピーしました!
目次