
Google Apps ScriptでChatGPT APIを利用する
2023/12/09
2023/12/09
Google Apps ScriptでChatGPT APIを利用する方法です。
前提条件
・ChatGPTのAPIキーを持っていること
Googleスプレッドシート
Googleスプレッドシートで以下のように、以下の目的で4つのセルを準備します。
・モデル
・プロンプト
・入力する文章(今回は「用語」としています)
・出力される回答
関数の記述
メニューの拡張機能 > Apps Scriptを選択し、
以下のソースを貼り付けます。
const apikey = PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY');;
// const model = "gpt-3.5-turbo";
// const model = "gpt-4";
const temperature = 0.5;
const url = "https://api.openai.com/v1/chat/completions";
function GPT(model, content, maxTokens=2048) {
if(content){
const requestBody = {
"model": model,
"messages": [{'role': 'user', 'content': content}],
"temperature": temperature,
"max_tokens": maxTokens
};
const requestOptions = {
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer " + apikey
},
"payload": JSON.stringify(requestBody)
};
const response = JSON.parse(UrlFetchApp.fetch(url, requestOptions).getContentText());
return response.choices[0].message.content.trim();
} else {
return "no result";
}
}スクリプトプロパティの設定
ソース内で使用するAPIキーをスクリプトプロパティに設定します。
Apps Scriptの設定 >「スクリプトプロパティ」を選択し、以下を入力して保存します。
プロパティ:OPENAI_API_KEY
値 :自分が持っているOPEN AIのAPIキー
作成した関数の利用
上記で作成した関数(GPT())はセルの中で利用可能です。
B4のセルに以下のような関数を入れて利用します。
「A4に何か入力されていたら、入力された内容に基づいてChatGPT APIを呼び出して回答をB4に出力する」といった内容です。
※関数の引数として、第一引数に"モデル"、第二引数に"固定のプロンプト+入力された用語"としています。
=if(A4<>"",GPT(B1,B2&A4),"")実際の動き
