みなさん,こんにちは.デイビッドです.生成AIによる自然言語処理技術が最近ものすごいですね.ChatGPTうまく使えていますか?今回は、ChatGPTとGoogle SpreadSheetの連携方法について、少しつまづきながらもやってみましたので,共有します.c
なお,ChatGPTはPlusプランであることが前提です.
Contents
OpenAI API Keyの取得
上記にアクセスいただくと,左側のメニューで,
API Keysの項目がありますので,そちらをクリックして,Create new secret keyから発行してください.
Googleスプレッドシートで設定
「GPT for Sheets and Docs」のインストール
以下のように,拡張機能の項目から,アドオン>アドオン取得,とクリックしてください.
そうすると,Google Workspace Marketplaceの画面が出ますので検索欄に「GPT」などといれて,「GPT for Sheets and Docs」をクリック,インストールを進めてください.(以下のスクショではインストール済みとなっているやつですね.)
OpenAI API Keyの設定
「GPT for Sheets and Docs」のインストールが完了したら,先ほどのAPIを設定します.
「拡張機能」のメニューから GPT for Sheets and Docs>Openとしてください.
入力できるとこんな感じです.
GPT関数を利用してみる
基本的には,=GPT(“Prompt”)でOKです.が,詳しくは以下.
GPT関数の使い方
構文 | =GPT(prompt, [value], [temperature], [model]) |
---|
パラメータ | 定義 |
---|---|
prompt
空白はダメ! |
生成AIへの指示入力 promptには,以下が使えます:
|
(optional) value | プロンプトに追加で情報を入れたい時用. |
(optional) temperature, model | temperature は0から1の値. 創造性を調整する用. modelは,デフォルトは,”gpt-3.5-turbo”なので,”gpt-4-turbo”指定したほうがよい. |
さらに詳しく使い方を深めたい場合は,以下のテンプレートを利用するのがおすすめです.
と,ここまで書いてみたものの,実は,このGPT関数経由だと,Browse機能が利用できないなど,機能制限があるため,フルのケイパビリティを使えません.Browse機能の有無はかなりできることの次元が違うので悲しみ・・今後に期待ですね.
直接APIを利用する場合も同様のようです.
ここに書かれているように,カスタムインストラクション指定で,
GPT4を直接API経由で利用する(Google Apps Script活用)
以下のスクリプトを書いて,デプロイします.
function requestGpt4Completion(prompt) { // Get the OpenAI API key set in the Script Properties const apiKey = PropertiesService.getScriptProperties().getProperty('APIKEY'); const customInstructions = PropertiesService.getScriptProperties().getProperty('CUSTOM_INSTRUCTIONS'); // Set the API endpoint for GPT-4 const apiUrl = 'https://api.openai.com/v1/chat/completions'; // Define the message to send to GPT-4 (only user role's post) const messages = [{'role': 'system', 'content': ''}, {'role': 'user', 'content': prompt}]; // Set the necessary header information for the OpenAI API request const headers = { 'Authorization': 'Bearer ' + apiKey, 'Content-type': 'application/json' }; // Set the options for GPT-4 model, token limit, and prompt const options = { 'muteHttpExceptions': true, 'headers': headers, 'method': 'POST', 'payload': JSON.stringify({ 'model': 'gpt-4-turbo', 'max_tokens': 2048, 'temperature': 0.7, 'messages': messages }) }; // Send the API request to OpenAI's GPT-4 and store the result in a variable const response = UrlFetchApp.fetch(apiUrl, options); const responseData = JSON.parse(response.getContentText()); // Check if the response is successful and has the expected data if (response.getResponseCode() === 200 && responseData.choices && responseData.choices.length > 0) { return responseData.choices[0].message.content; } else { // Log error or return a default error message console.error('Failed to fetch response:', responseData); return "Error: Failed to fetch response from API."; } }
GPT-4よりも料金が安くなっているようです!
Model | Input | Output |
gpt-4-turbo-2024-04-09 | $10.00 / 1M tokens | $30.00 / 1M tokens |
まとめ
ChatGPTとGoogle SpreadSheetの連携方法についてご説明しました.日常的なタスクの自動化が可能になっていきますが,意外と日常的に利用している人は少ない気がします.
流行ってるけどよくわからない,ではなく,適応,順応するために,一歩踏み出して,より面白いことに時間が使えるよう,生産性を高めていきたいものですね.
デイビッドもまだまだ試行錯誤の途中です.面白い発見があればまたシェアします
コメント