【GPT-4-Turbo】ChatGPTとGoogle Spreadsheetを連携! | デイビッドの宇宙開発ブログ

【GPT-4-Turbo】ChatGPTとGoogle Spreadsheetを連携!

みなさん,こんにちは.デイビッドです.生成AIによる自然言語処理技術が最近ものすごいですね.ChatGPTうまく使えていますか?今回は、ChatGPTとGoogle SpreadSheetの連携方法について、少しつまづきながらもやってみましたので,共有します.c

なお,ChatGPTはPlusプランであることが前提です.

OpenAI API Keyの取得

https://platform.openai.com/api-keys

上記にアクセスいただくと,左側のメニューで,

API Keysの項目がありますので,そちらをクリックして,Create new secret keyから発行してください.

このAPI Keyは,ウィンドウを閉じるなどすると,みれなくなるようですので,どこかに保存しておくなどして管理するよう注意してください.

Googleスプレッドシートで設定

Google スプレッドシート: ログイン
Google スプレッドシートには、個人の Google アカウントまたは Google Workspace アカウント(ビジネス ユーザー向け)でアクセスできます。

「GPT for Sheets and Docs」のインストール

以下のように,拡張機能の項目から,アドオン>アドオン取得,とクリックしてください.

そうすると,Google Workspace Marketplaceの画面が出ますので検索欄に「GPT」などといれて,「GPT for Sheets and Docs」をクリック,インストールを進めてください.(以下のスクショではインストール済みとなっているやつですね.)

Screenshot

OpenAI API Keyの設定

「GPT for Sheets and Docs」のインストールが完了したら,先ほどのAPIを設定します.

「拡張機能」のメニューから GPT for Sheets and Docs>Openとしてください.

他の方の記事ではここに「Set API Key」が出る,とありますが,私がやったときは,「Set API Key」が画像のように出ませんでしたので,同じようにやってみてください.
すると,右側にGPT for Sheets and Docsのウィンドウが開きますので,そのウィンドウ内の左上のハンバーガーメニューを押すと

以下のように,API Keysの項目がありますので押してもらうと,
API Keyを入力できる画面になりますので,先ほど取得したKeyをいれちゃってください!
入力できるとこんな感じです.

GPT関数を利用してみる

基本的には,=GPT(“Prompt”)でOKです.が,詳しくは以下.

GPT関数の使い方

構文 =GPT(prompt, [value], [temperature], [model])
パラメータ 定義
prompt

空白はダメ!

生成AIへの指示入力
promptには,以下が使えます:

  • 文字列: "教育系ブログのコンセプトを3つ書いて"
  • セル選択: A1
  • 範囲指定もOK: A1:C3
(optional) value プロンプトに追加で情報を入れたい時用.
(optional) temperature, model temperature は0から1の値. 創造性を調整する用.
modelは,デフォルトは,”gpt-3.5-turbo”なので,”gpt-4-turbo”指定したほうがよい.

さらに詳しく使い方を深めたい場合は,以下のテンプレートを利用するのがおすすめです.

Google Sheets: Sign-in
Access Google Sheets with a personal Google account or Google Workspace account (for business use).

と,ここまで書いてみたものの,実は,このGPT関数経由だと,Browse機能が利用できないなど,機能制限があるため,フルのケイパビリティを使えません.Browse機能の有無はかなりできることの次元が違うので悲しみ・・今後に期待ですね.

直接APIを利用する場合も同様のようです.

https://community.openai.com/t/ensuring-gpt-4-model-is-used-in-v1-chat-completions-endpoint-for-spreadsheet-integration/618884

ここに書かれているように,カスタムインストラクション指定で,

“Gets top results of web search engine with page descriptions. Use for recent events or news.”と指示してみたもののうまくいかずでした.

GPT4を直接API経由で利用する(Google Apps Script活用)

Spreadsheetで,拡張機能>Apps Scriptと選択すると,新規プロジェクトが開きます.
以下のスクリプトを書いて,デプロイします.
なお,APIKEYは,設定からプロパティを登録できる箇所があるので,そちらで設定しています.
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.";
  }
}
APIを利用する場合は,従量課金制になるので,使いすぎを気にしないといけないのが難点ですが,2024年4月から,モデルが更新されており,GPT-4 Turboになっています.(上記スクリプトでもGPT-4 Turbo指定をしてあります.)
GPT-4よりも料金が安くなっているようです!

With 128k context, fresher knowledge and the broadest set of capabilities, GPT-4 Turbo is more powerful than GPT-4 and offered at a lower price.

Model Input Output
gpt-4-turbo-2024-04-09 $10.00 / 1M tokens $30.00 / 1M tokens

まとめ

ChatGPTとGoogle SpreadSheetの連携方法についてご説明しました.日常的なタスクの自動化が可能になっていきますが,意外と日常的に利用している人は少ない気がします.

流行ってるけどよくわからない,ではなく,適応,順応するために,一歩踏み出して,より面白いことに時間が使えるよう,生産性を高めていきたいものですね.

デイビッドもまだまだ試行錯誤の途中です.面白い発見があればまたシェアします

コメント

タイトルとURLをコピーしました