ChatGPTとGASを連携しスプレッドシートのセルの文章を解析・要約する

2024/12/24 (火) - 09:00 JavaScript

顧客からの問い合わせやレビューなどの文章をAIを使いざっくりと解析と要約をして効率化する方法。GoogleスプレッドシートのGoogle Apps Script(GAS)と、ChatGPT APIを連携することで半自動化をすることが出来ます。実装する前に予めOpenAI developer platformからAPI Keysを取得しておきましょう。

前回作ったメールフォームから送信された内容をGoogleスプレッドシートに集約している場合などにも効果的です。

ChatGPTが要約した内容を実際に表示させた例

GASにスクリプトを実装する

予めスプレッドシートを用意して開いておき、メニューから[拡張機能]→[Apps Script]を選択します。コード入力欄が表示されるので以下のようにコードを入力します。

function cellSummary(targetCell) {
 const apiUrl = 'https://api.openai.com/v1/chat/completions';
 const apiKey = '************'; // ここに取得したAPIキーを入力
 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 const promptText = targetCell;
 if (!promptText) {
  return '入力されていません。';
 }
 const payload = {
  model: 'gpt-4-turbo',
  messages: [
   { role: 'system', content: '以下のテキストを分析し、100文字程度で簡潔に要約し、[満足][不満]で分類してください' },
   { role: 'user', content: promptText }
  ],
  max_tokens: 1000
 };
 const options = {
  method: 'post',
  headers: {
   'Authorization': `Bearer ${apiKey}`,
   'Content-Type': 'application/json'
  },
  payload: JSON.stringify(payload)
 };
 try {
  const response = UrlFetchApp.fetch(apiUrl, options);
  const json = JSON.parse(response.getContentText());
  const result = json.choices[0].message.content.trim();
  return result; // 要約結果をスプレッドシートに表示
 } catch (error) {
  return `エラーが発生しました:${error.message}`; // エラー時はエラー文をスプレッドシートに表示
 }
}

スクリプトに構文エラーがないことを確認したら、保存ボタンをクリックして保存します。この時実行権限とスプレッドシートへのアクセス許可、および、外部ネットワークへの連携をしていいか聞いてくるのですべて許可しておきます。

スプレッドシートに数式を入力する

セルに数式を記入する

次に用意されたスプレッドシートで解析内容を表示したいセルにカスタム関数を入力します。このとき引数ととして[解析したいセル番号]を指定します。例えば、解析したい文章がF6セルだったら以下のようになります。

=cellSummary(F6)

入力すると通信が始まり、GPTが解析してくれたようやく内容がそのセルに表示されます。以上、ざっくりとしたChatGPT APIとGoogleスプレッドシート(GAS)の連携方法でした。

おしまい

タグ:

記事をシェアする

  • facebookでシェアする
  • twitter(X)でシェアする
  • LINEでシェアする
  • はてなブックマークでシェアする
  • Threadsでシェアする
  • Pocketでシェアする
  • Pinterestでシェアする

おすすめ記事

トラックバック & ピンバック

この記事へのトラックバックURI
https://weblog.walk-life.me/chatgpt_gas/trackback/

コメント

コメントは下記からどうぞ

ページの先頭へ