ChatGPTのAPIをGoogle Apps Script(GAS)で使いたい方必見です。
今回は、GASでChatGPTのAPIを利用する方法について、初心者の方でも分かりやすく解説していきます。
ChatGPT APIの基本知識
ChatGPT APIは、ChatGPTの機能を自分のアプリケーションやプログラムに組み込むためのインターフェースです。
通常のChatGPTがブラウザ上でしか使えないのに対し、
APIを使えば自分のプログラムから直接ChatGPTの機能を呼び出すことができます。
準備するもの
APIを利用するために必要なものは以下の通りです。
| 項目 | 説明 |
|---|---|
| OpenAIアカウント | APIキーを取得するために必要 |
| APIキー | APIにアクセスするための認証キー |
| クレジットカード | API利用料金の支払いに使用 |
| GASの基本知識 | JavaScriptの基礎があると望ましい |
APIキーの取得手順
- OpenAIの開発者プラットフォームにログイン
- 左メニューの鍵マーク「API keys」を選択
- 「Create new secret key」をクリック
- キーの名前を入力して作成
重要: 表示されたAPIキーは必ずメモしておきましょう。
一度閉じると二度と表示されません。
GASでの設定方法
スクリプトプロパティの設定
- Googleスプレッドシートを開く
- 「拡張機能」→「Apps Script」を選択
- 左メニューの歯車アイコンをクリック
- 「スクリプトプロパティ」にAPIキーを設定
基本的なコード実装
function chatGptRequest() {
const apiKey = ScriptProperties.getProperty('OPENAI_API_KEY');
const apiUrl = 'https://api.openai.com/v1/chat/completions';
const messages = [
{'role': 'user', 'content': '質問内容をここに記述'}
];
const options = {
'method': 'POST',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + apiKey
},
'payload': JSON.stringify({
'model': 'gpt-3.5-turbo',
'messages': messages
})
};
const response = UrlFetchApp.fetch(apiUrl, options);
return JSON.parse(response.getContentText());
}メッセージの構造について
APIでは3種類のロールを使用できます:
システムロール
システムとしての振る舞いを定義します。
例:「回答は必ず簡潔にしてください」
ユーザーロール
実際の質問内容を設定します。
例:「日本の首都は?」
アシスタントロール
ChatGPTからの回答を含めて会話を続ける場合に使用します。
応用的な使い方
会話の文脈を保持する
const messages = [
{'role': 'user', 'content': '日本で一番高い山は?'},
{'role': 'assistant', 'content': '富士山です。'},
{'role': 'user', 'content': 'その高さは?'}
]システムロールの活用
const messages = [
{'role': 'system', 'content': '回答は必ず100文字以内でまとめてください'},
{'role': 'user', 'content': '質問内容'}
]料金体系について
基本料金
- GPT-3.5 Turbo: 1,000トークンあたり0.002ドル
- GPT-4: 1,000トークンあたり0.03ドル。
無料トライアル
- 新規登録時に5ドル分のクレジット付与
- 有効期限は3ヶ月。
利用上の注意点
利用する際は、以下のような点に注意が必要です。
セキュリティ面
- APIキーは厳重に管理する
- スクリプトプロパティを活用する
- 公開リポジトリにキーを掲載しない。
コスト管理
- 利用上限を設定する
- トークン数を適切に制限する
- 不要なAPIコールを避ける。
まとめ
GASでChatGPT APIを利用することで、様々な業務自動化が可能になります。
基本的な設定さえ押さえれば、比較的簡単に実装できることが分かりました。
ただし、APIキーの管理やコストには十分な注意が必要です。
これからAIを活用した開発を始める方の参考になれば幸いです。