見出し画像

サクッとChatGPTを使いたいときのGoogle Apps Script

Open AIのAssistants APIを利用した処理については別の記事で紹介したけど、この方法は数往復の会話を継続する場合や何かしら初期情報を付与させて回答時に参照させるときには適しているが、設定する処理が多いからサクッと生成AIの回答を自作プログラム内で使いたいときにはあまり適していない。

Chapter 1: 利用するAPI Endpoint

参考:https://platform.openai.com/docs/api-reference/chat/create

今回利用するのはchat/createの処理。
普段ブラウザやスマホアプリで利用しているような感じでテキストを生成して返してくれる。(音声出力もできるっぽい)

めんどくさい下準備とかせずにシンプルにChatGPTを利用するならばこれを使えばOk

Chapter 2: チャットで1回だけ質問する処理全体

"OPEN_AI.API_TOKEN"の部分に取得したAPI Tokenを設定。
Open AIのAPIを使うには有料アカウントが必要なので、そこだけ要注意

/**
 * Chat GPTでメール文面の要約を行う処理
 */
class OpenAiModule {
  constructor () {
    this.api_token = 'OPEN_AI.API_TOKEN';
  }

  /**
   * リクエスト実行
   * @param {string} prompt : GPTに投げるプロンプト文
   * @return {object} - ChatGPTの返信文
   */
  executeSendPrompt (prompt) {
    const endpoint = 'https://api.openai.com/v1/chat/completions';
    const options = {
      'method' : 'post',
      'headers' : {
        'Authorization' : 'Bearer ' + this.api_token,
        'Content-Type'  : 'application/json',
      },
      'payload' : JSON.stringify({
        'model' : 'gpt-4o',
        'messages' : [
          {
            'role': 'user',
            'content': prompt
          }
        ]
      }),
      'muteHttpExceptions' : true
    };
    const chatRequester = UrlFetchApp.fetch(endpoint, options);
    return JSON.parse(chatRequester.getContentText());
  }
}

Chapter 3: 利用方法

プロンプトをexecuteSendPromptの処理に引数として渡すことで、ChatGPTへの質問を投げる。

const prompt = '以下のメール文面の中から各明細の品目名と価格を抽出してください。\n'
  + '出力フォーマットはJSON.parse()で変換できるフォーマットにすること\n\n'
  + '[出力例]\n'
  + '{\n'
  + '  品目_1 : 3000\n'
  + '  品目_2 : 1200\n'
  + '}\n\n'
  + '[メール本文]\n'
  + mailBody;                                  //ここにメール本文を設定
const gpt = new OpenAiModule();                 //クラスの呼び出し
const response = gpt.executeSendPrompt(prompt); //質問実行
console.log('GPT回答', response);

P.S 機会があればやりたいこと

AIをガッツリと触る機会に恵まれていないというのもあってあんまりAIを触ってないんだけど(普通にお金かかりますし、、、)、Difyとかも使いたいっすよね。という未来の自分へ託す。

↓「参考になった!」「便利!」と思った方は、ぜひご支援ください❤️↓

ここから先は

0字

¥ 100

この記事が気に入ったらチップで応援してみませんか?