Upgrade to Pro — share decks privately, control downloads, hide ads and more …

230713_AppSheet と ChatGPT連携させてみた!~手順をイチから解説!_吉積情報 伊藤

comucal
July 13, 2023

230713_AppSheet と ChatGPT連携させてみた!~手順をイチから解説!_吉積情報 伊藤

230713_AppSheet と ChatGPT連携させてみた!~手順をイチから解説!_吉積情報 伊藤

comucal

July 13, 2023
Tweet

More Decks by comucal

Other Decks in Technology

Transcript

  1. YOSHIDUMI Information, Inc. AppSheet側でGASにつなぎこみを行います。そのために「 Automation」を設定します。 「アシストトリガー」
 の値が変わったときに動き出す 
 設定です!
 [_THISROW_BEFORE].[アシストトリガー]

    <> [_THISROW_AFTER].[アシストトリガー] ※Actionを追加しない場合は、 
 Adds onlyにして 
 Conditionを空にしてください。 
 データ登録起点で動くように変わります。 

  2. YOSHIDUMI Information, Inc. コピペ用 const OPEN_AI_KEY = 'ここにキーをいれてねー'; function testGetChatGPTAnswer(){

    const prompt = 'プログラムの楽しさを約50文字程度で教えてください'; const answer = getChatGPTAnswer(prompt); Logger.log(answer); } function getChatGPTAnswer(prompt) { Logger.log(prompt); prompt = prompt.substring(0, 1000); // 不測の事態に備えて、1000文字以降は切り捨てる。また、繰り返し呼びされた場合のケアは別途必要。 // OpenAI APIキーを設定。https://platform.openai.com/account/api-keys にて取得。 // アカウント登録後、約3ヶ月間5ドル分の無料枠有り。大体250万トークン程度まで利用可能。(2023年06月10日現在) (デモなので別定数を代入) const API_KEY = OPEN_AI_KEY; // リクエスト内容 const request = { method: "POST", muteHttpExceptions : true, headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + API_KEY, }, payload: JSON.stringify({ 'model': 'gpt-3.5-turbo', // モデルの指定。GPT-4などは全然コストが違うので要注意。 'temperature': 1.0, // ざっくり独自性みたいなもので、0~2の範囲で指定可能。2とかになると独自すぎて文章が壊れる。1.0が無難。 'max_tokens': 1000, // 出力されるトークン上限。料金の対象は入力メッセージも対象なので注意。 'messages': [{'role':'user', 'content': prompt}] // 入力情報。複数の値を入れるとChatGPTみたいに文脈として参考にされるが、その分のコストも当然かかる。 }), }; // OpenAI API にリクエストを送信し、返答を得る。(サンプルなので、例外等は非考慮) const response = UrlFetchApp.fetch('https://api.openai.com/v1/chat/completions', request); const jsonObject = JSON.parse(response.getContentText()); const resultContent = jsonObject.choices[0].message.content; Logger.log(resultContent); return resultContent; }
  3. YOSHIDUMI Information, Inc. 余談2:Call a webhook の Return Value対応! AppSheetから直接外部のAPIを叩く「Call

    a webhook」ですが、 
 最近「Return Value」に対応しました! 
 間にGASを挟まなくても呼び出せるかもしれません! 
 ※配列はダメみたいなので厳しそうな気がしてます,, 

  4. YOSHIDUMI Information, Inc. Google Workspace 吉積情報 検 索 www.yoshidumi.co.jp 当社のサポートプログラムは

    限られた社内リソースの中でしっかりとシステム移行・活用したい そんな担当者様・企業様に最適なご支援です。 まずはお気軽に、オンラインミーティングをご希望ください。