今回は、以下のアニメーションのように、Google スプレッドシートに情報を入力すると、ChatGPTの回答を自動的に取得してくれる関数の作り方をご紹介します。
サンプルのスプレッドシートも公開しますので、以下のリンクからよかったら見てみてください。
ChatGPT関数サンプル
Google スプレッドシートに情報を入力すると、ChatGPTの回答を自動的に取得してくれる関数の活用事例です。
以下の手順通りに進めれば、誰でも簡単に実装ができます。
なお、利用するにはChatGPTのアカウント登録が必要ですが、それについては本記事では語りませんので、ご了承を。
1. Chrome拡張機能「ChatGPT for Google」をインストール
以下のリンクから、GoogleChromeの拡張機能「ChatGPT for Google」をインストールしてください。
ChatGPT for Google
Display ChatGPT response alongside search engine results. This is an open-source extension that show response from ChatGPT alongside Google, Bing, DuckDuckGo and other search engines
2. Googleスプレッドシートで「=GPT」関数を使えるようにする
2.1 OpenAIのアカウント取得
以下のリンクからOpenAIのアカウントを取得してください。
OpenAI API
OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.
2.2 OpenAIのAPI Keyを取得
- リンク「OpenAI API」にアクセス
- 「Create new secret key」をクリック
- 作成されたAPI Keyをコピー
2.3 Google Apps Script(GAS)で「GPT-3」のスクリプト作成
- Googleスプレッドシートの画面を開く。
- メニューから「拡張機能」→「Apps Script」と進む。
- 最初に記入されている「function myFunction() 〜」を削除する。
- 以下に記述したコードをコピーして貼り付ける。「SECRET KEY」には、先ほどコピーした自信のAPI Keyを貼り付ける。
- フロッピーディスクのアイコンをクリックして保存。
/**
* 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 = "API keysで取得したSECRETKEYを入力";
//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();
}
これで設定は完了です。
3. Google スプレッドシートに関数を入力
以下の関数を入力すると、対応したセルに記述された内容を見て、ChatGPTの回答を返してくれます。
=IF(ISBLANK($A2),,GPT($A2&"の"&B$1&"を簡潔に教えてください:",1000))