⚒️

Google シートへ Gemini のカスタム AI 関数を組み込む

2024/12/23に公開

Google シートへ Gemini のカスタム AI 関数を組み込む

Google シートでも、生成 AI Gemini の組み込み が急ピッチで進んでいます。

先日多数の Blog の評価を行う機会があった際には、Google シートと Gemini の組み合わせで、かなり効率的に評価を行うことが出来ました。

当時は GAS を利用して、力技で対応したのですが、関数として Gemini を呼び出せるようにすれば、もっと効率的な利用が出来るようになるかと思いました。

残念ながら Google シートではまだそのような関数の提供はされていないのですが、公式な提供まで待てないという方のために、本記事では Gemini のカスタム AI 関数の組み込みを試してみました。

なぜスプレッドシートでGeminiを使うのか?

スプレッドシートとAIの組み合わせは、データ分析、レポート作成、コンテンツ生成など、様々な場面で強力なツールとなります。特にGeminiのような高度なAIモデルをスプレッドシート上で直接利用できることは、以下のようなメリットをもたらします。

  • シームレスなワークフロー: スプレッドシート上でデータを加工・分析し、その結果を基にGeminiでテキスト生成を行う、といった一連の流れを、ツールを切り替えることなく完結できます。
  • 高度な自動化: 定型的なテキスト生成タスクを自動化することで、時間と手間を大幅に削減できます。
  • データに基づいたコンテンツ生成: スプレッドシート内のデータに基づいて、パーソナライズされたテキストコンテンツを生成できます。
  • コラボレーションの強化: スプレッドシート上でチームメンバーとAIを活用した業務を共同で進めることができます。

Gemini カスタム関数の紹介

今回ご紹介する Gemini カスタム関数は、Google スプレッドシートのセルに記述されたプロンプト(指示文)をGeminiに渡し、生成されたテキストを返します。

スクリプトの概要

以下がGAS(Google Apps Script)で記述されたカスタム関数のスクリプトです。

const GEMINI_API = 'REPLACE_WITH_API_KEY';
function gemini(prompt) {
  const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key=${GEMINI_API}`
        , payload = {
            'contents': [
              {
                'parts': [{
                  'text':prompt
                }]
              }
            ]
          }
        , options = {
            'method': 'post',
            'contentType': 'application/json',
            'payload': JSON.stringify(payload)
          };
  const res = UrlFetchApp.fetch(url, options)
        , resJson = JSON.parse(res.getContentText());
  result = resJson['candidates'][0]['content']['parts'][0]['text']
  return result
}

このスクリプトは、以下の処理を行っています。

  1. APIキーの設定: GEMINI_API 変数に、Gemini APIキーを設定します。
  2. Gemini APIへのリクエスト: スプレッドシートのセルに記述されたプロンプトをGemini APIに送信します。
  3. レスポンスの取得: Geminiから生成されたテキストレスポンスを受け取ります。
  4. テキストの抽出: レスポンスから生成されたテキストを抽出します。
  5. 結果の返却: 抽出したテキストをスプレッドシートのセルに返します。

1. Gemini APIキーの取得方法

このカスタム関数を利用するには、Gemini APIキーが必要です。以下の手順でAPIキーを取得してください。

  1. Google Cloud Platform Console にアクセスします。
  2. プロジェクトを作成するか、既存のプロジェクトを選択します。
  3. 左側のメニューから、「APIとサービス」→「ライブラリ」を選択します。
  4. 「Generative Language API」を検索し、有効にします。
  5. 左側のメニューから、「APIとサービス」→「認証情報」を選択します。
  6. 「認証情報を作成」ボタンをクリックし、「APIキー」を選択します。
  7. 生成されたAPIキーをコピーします。

注意: APIキーは厳重に管理し、外部に漏洩しないように注意してください。

2. GASスクリプトの作成

  1. Google スプレッドシートを開きます。
  2. 「拡張機能」→「Apps Script」を選択します。
  3. スクリプトエディタが開くので、上記のコードをコピーして貼り付けます。
  4. const GEMINI_API = 'REPLACE_WITH_API_KEY'; の部分を、取得したあなたのAPIキーに置き換えます。
  5. (任意) models/gemini-2.0-flash-exp の部分を 他のモデル で置き換えます。
  6. スクリプトを保存します(任意の名前で保存できます)。

2. GASスクリプトの利用方法

  • スプレッドシートのセルに、以下のようにカスタム関数を記述します。

    =gemini("今日の天気を教えて")
    

    または

    =gemini(A1)
    

    (A1セルにプロンプトを入力した場合)

  • エンターキーを押すと、Geminiから生成されたテキストがセルに表示されます。

3. Gemini カスタム関数の活用例

Gemini カスタム関数を利用するアイデアとしては、例えば以下のように活用出来るかと思います。
活用例

  • 情報の検索
=gemini(A2&"の出版年のみを回答して")
  • 要約:
=gemini(A2&"の本の内容を300文字で要約して")
  • 提案
=gemini(A2&"の次に読むおすすめの本を3冊、タイトルと著者名の一覧のみを回答して")

まとめ

Google スプレッドシートでGeminiを簡単に利用できるカスタム関数を紹介しました。このカスタム関数は、Geminiの強力なテキスト生成能力をスプレッドシート上でシームレスに利用できるため、業務効率を大幅に向上させることができます。ぜひ、あなたの業務に取り入れてみてください。

Google Cloud Japan

Discussion