ChatGPTとGASを連携しスプレッドシートのセルの文章を解析・要約する
2024/12/24 (火) - 09:00 JavaScript
顧客からの問い合わせやレビューなどの文章をAIを使いざっくりと解析と要約をして効率化する方法。GoogleスプレッドシートのGoogle Apps Script(GAS)と、ChatGPT APIを連携することで半自動化をすることが出来ます。実装する前に予めOpenAI developer platformからAPI Keysを取得しておきましょう。
前回作ったメールフォームから送信された内容をGoogleスプレッドシートに集約している場合などにも効果的です。
GASにスクリプトを実装する
予めスプレッドシートを用意して開いておき、メニューから[拡張機能]→[Apps Script]を選択します。コード入力欄が表示されるので以下のようにコードを入力します。
function cellSummary(targetCell) {
const apiUrl = 'https://api.openai.com/v1/chat/completions';
const apiKey = '************'; // ここに取得したAPIキーを入力
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const promptText = targetCell;
if (!promptText) {
return '入力されていません。';
}
const payload = {
model: 'gpt-4-turbo',
messages: [
{ role: 'system', content: '以下のテキストを分析し、100文字程度で簡潔に要約し、[満足][不満]で分類してください' },
{ role: 'user', content: promptText }
],
max_tokens: 1000
};
const options = {
method: 'post',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
payload: JSON.stringify(payload)
};
try {
const response = UrlFetchApp.fetch(apiUrl, options);
const json = JSON.parse(response.getContentText());
const result = json.choices[0].message.content.trim();
return result; // 要約結果をスプレッドシートに表示
} catch (error) {
return `エラーが発生しました:${error.message}`; // エラー時はエラー文をスプレッドシートに表示
}
}
スクリプトに構文エラーがないことを確認したら、保存ボタンをクリックして保存します。この時実行権限とスプレッドシートへのアクセス許可、および、外部ネットワークへの連携をしていいか聞いてくるのですべて許可しておきます。
スプレッドシートに数式を入力する
次に用意されたスプレッドシートで解析内容を表示したいセルにカスタム関数を入力します。このとき引数ととして[解析したいセル番号]を指定します。例えば、解析したい文章がF6セルだったら以下のようになります。
=cellSummary(F6)
入力すると通信が始まり、GPTが解析してくれたようやく内容がそのセルに表示されます。以上、ざっくりとしたChatGPT APIとGoogleスプレッドシート(GAS)の連携方法でした。
おしまい♥
おすすめ記事
- Next.jsのApp Routerでクエリパラメータ(GETパラメータ)と動的パスを取得
- Next.js(App Router)で、Fetch APIを使った静的ファイル生成(SSG)でヘマした
- transitionでheight:autoを動かす2つの方法。
- Next.js App Routerによるhead要素内の設定(meta OGPとかfavicon)
- Astro+WordPress 記事検索ページをSSRで作る時のポイント
トラックバック & ピンバック
- この記事へのトラックバックURI:
- https://weblog.walk-life.me/chatgpt_gas/trackback/