はじめに
Google Geminiは、Googleが提供する高性能なAIモデルです。
今回は、Google Apps Script(GAS)を使ってGoogle GeminiのAPIを呼び出す方法を紹介します。
GASはGoogle WorkspaceのスプレッドシートやGmailなどと連携しやすく、簡単にスクリプトを作成できるため非常に便利です!
最初はChatGPTのAPIをGASから呼ぼうかと思ってたのですが、無料枠が存在しないためやめました。そこで無料で試すことができ親和性の高いGoogleのサービスのGeminiのAPIをGASから呼んで試してみることにしました!
Geminiの使用感について
https://gemini.google.com/app?hl=ja
Geminiは上記からWeb上で試すことができます。
使用感としては日本語でもかなり自然に返してくれて最高です。ただハルシネーションには少々注意が必要そうです。
必要な準備
Google Gemini APIキーの取得
Google GeminiのAPIを利用するためには、まずAPIキーを取得する必要があります。
Google AI Studioにアクセスし、APIキーを発行します。
https://aistudio.google.com
Google Apps Scriptの設定
Googleスプレッドシートを開き、「拡張機能」->「Apps Script」を選択してスクリプトエディタを開きます。
GASスクリプトの作成
以下のコードを使用してGoogle Gemini APIを呼び出します。
APIキーとは自身のものに置き換えてください。APIキーは他人に知られないように注意してください。誤って公開してしまうと、悪用される可能性があります。
プロンプトは適当に「元気なあいさつ文を5個考えて」となってるので依頼したい内容に合わせて変えましょう。
const GEMINI_API_KEY = 'GeminiのAPIキーを入力';
function getGreetingByGemini()
{
const orderPrompt = `元気なあいさつ文を5個考えて`;
var result = getMessageByGemini(orderPrompt);
return result;
}
function getMessageByGemini(orderPrompt)
{
const url = `https://generativelanguage.googleapis.com/v1/models/gemini-1.5-flash:generateContent?key=${GEMINI_API_KEY}`
, payload = {
'contents': [
{
'parts': [{
'text': orderPrompt
}]
}
]
}
, options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const res = UrlFetchApp.fetch(url, options)
, resJson = JSON.parse(res.getContentText());
console.log(JSON.stringify(resJson));
if ((resJson && resJson.candidates && resJson.candidates.length > 0) == false) {
throw new Error("Geminiの通信に失敗しました");
}
var message = resJson.candidates[0].content.parts[0].text;
var result = trimString(message )
console.log(result);
return result;
}
function trimString(str) {
// 文字列全体からスペースと改行コードを削除
return str.replace(/[\s\n\r]+/g, '');
}
スクリプトの実行
スクリプトエディタで上記のコードを貼り付け、保存します。
スクリプトを実行するために「実行」->「関数を選択」->「getGreetingByGemini」を選択し、実行します。
実行すると以下のようにログに取得結果が表示されます。
まとめ
Google Apps Scriptを使ってGoogle GeminiのAPIを呼び出す方法を紹介しました。
スプレッドシートやGmailなどと連携することで、より高度な自動化や分析が可能になります。GASと組み合わせれば色んなことに応用が利きそうです。なんといっても、これだけのことを無料で試すことができるのは最高ですね!