🍣

【Google App Script】ChatGPTとGASを連携した自動リサーチツール

2023/02/13に公開

概要

下記リンクを参考にして、リサーチツールを作成した。あくまで自分の学びを深めるためのアウトプット記事なので、詳細は下記記事を参考いただきたい。
https://note.com/seimeitsuzaki/n/n07fa00f41961

最終的なアウトプットは下記リンクで確認すること。
https://docs.google.com/spreadsheets/d/14O1wcNxsTFv7XEXPG2bTJJmk8yIvI4_z-LwQQ_6w02E/edit#gid=0

会社名を入力すると、ChatGPTがURL、創業年、創業者、創業秘話、2020年売り上げ、そして特徴を書き出してくれる。

事前準備

まずChatGPTを使用するため、アカウントを作成する。
https://openai.com/api/

アカウントを作成したら、OpenAIのAPI Keyを取得する。下記リンクから取得できるが、一度しか表示されないので忘れずに保管すること。
https://beta.openai.com/account/api-keys

Google App Scriptを実装

結論、下記コードを実装すること。任意のスプレッドシートを作成しGASを開いたら、下記コードを添付する。

/**
* GPT-3 and Google Sheets
*
* @param {string} prompt Prompt.
* @param {number} temperature (Optional) Temperature.
* @param {string} model (Optional) GPT-3 Model.
* @return Response returned by GPT-3.
* @customfunction
*/

const SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//const MAX_TOKENS = 10;
const MODEL_NAME = "text-davinci-003"; // more structured and deterministic: for data
//const MODEL_NAME = "davinci"; // more flexible and creative: for stories, chatbots
const MODEL_TEMP = 0.3;

function GPT(prompt,max_tokens=30) {
const url = "https://api.openai.com/v1/completions";
const payload = {
model: MODEL_NAME,
prompt: prompt,
temperature: MODEL_TEMP,
//max_tokens: MAX_TOKENS,
max_tokens: max_tokens
};

const options = {
contentType: "application/json",
headers: { Authorization: "Bearer " + SECRET_KEY },
payload: JSON.stringify(payload),
};

const res = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
return res.choices[0].text.trim();
}

引用

https://note.com/seimeitsuzaki/n/n07fa00f41961

Discussion