ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。エンジニアの日々の開発などの記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

【GAS】Gemini ProのAPIをGoogle Apps Scriptから叩いてみる。

約2ヶ月前くらいの去年の年末にGoogle DeepMindによって開発されたGeminiからGemini Proが使えるようになりました。

Gemini Proは、Google AIが開発した最新のマルチモーダル生成AIモデルです。テキスト、画像、動画などの様々なデータを組み合わせることで、より創造的で高品質なコンテンツ生成を実現できます。

この記事では、Google Apps Script(GAS)を用いて、Gemini Pro APIを実際に呼び出す方法を解説します。

その時に実装したソースコード等も紹介したいと思います。

Gemini Proとは

まずはGemini Proとはなにか?Geminiに聞いてみました。

gemini.google.com

こちらからGeminiを利用することができます。

「Gemini Pro は、Google AI によって開発された大規模な言語モデル (LLM) チャットボットです。テキストとコードの膨大なデータセットでトレーニングされており、テキストを生成し、言語を翻訳し、さまざまな種類のクリエイティブ コンテンツを作成し、有益な方法で質問に答えることができます。

Gemini Pro は、次のことができる強力なツールです。

詩、コード、台本、音楽作品、電子メール、手紙など、さまざまなクリエイティブなテキスト形式を生成します。すべての要件を満たすために最善を尽くします。 質問がオープンエンド、挑戦的、または奇妙であっても、包括的かつ有益な方法で回答します。 言語を翻訳します。現在、100 以上の言語をサポートしています。

私はまだ開発中ですが、さまざまな種類のタスクを実行することを学びました。

私はあなたの指示に従い、思慮深くあなたの要求を完了するために最善を尽くします.

私は自分の知識を使用して、質問がオープンエンド、挑戦的、または奇妙であっても、包括的かつ有益な方法で回答します.

詩、コード、台本、音楽作品、電子メール、手紙など、さまざまなクリエイティブなテキスト形式を生成します。すべての要件を満たすために最善を尽くします。

とのことらしいです。今流行りの生成AIですね。

Gemini Pro APIのAPI KEYの生成

Gemini ProのAPI KEYはGoogle AI Studioから発行することができます。

https://aistudio.google.com/app/apikey

このようにKeyを生成しました。

ソースコードの作成

次にGASでソースコードを作成していきます。

function ai(text) {
  const API_KEY = PropertiesService.getScriptProperties().getProperty('API_KEY');

  const body = {
    "contents": [
      {
        "parts": [
          {
            "text": text
          }
        ]
      }
    ]
  };
  const headers = {
    "Content-Type": "application/json; charset=UTF-8",
  };

  const options = {
    'method': 'post',
    "headers" : headers,
    'payload': JSON.stringify(body),
  };

  let response;
  try {
    response = UrlFetchApp.fetch('https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=' + API_KEY, options);
  } catch (error) {
    console.log(response)
    console.log('Error: ' + error.message);
    return null;
  }

  if (response.getResponseCode() === 200) {
    const result = JSON.parse(response.getContentText());
    const generatedContent = result.candidates[0].content.parts[0].text;

    console.log(generatedContent);

    return generatedContent;
  } else {
    console.log('Error: ' + response.getResponseCode());
    return null;
  }
}

コードの解説

コードの解説をしていきます。 1. aiというfunctionを作成しました 2. 引数にtextを渡すことで、そこからAIにレスポンスを作成してもらいます 3. PropertiesService.getScriptProperties().getProperty('API_KEY')とすることで、API KEYのような情報をソースコードに直接書かず、スクリプトのプロパティから取得することができます。ここについては後で説明します 4. リクエストのデータを作成してGemini ProのAPIを叩きます 5. レスポンスを解析し、そこから応答のテキスト情報を返します

このようにして、Gemini Pro APIを呼び出すことをしました。

スクリプトプロパティ

API KEYを直接ソースコードに書かずに、GASのプロジェクトのスクリプトプロパティにセットしています。

プロジェクトの設定から、一番下の方にスクリプトプロパティがあります。

そこに、API KEYというプロパティで、AI Studioで発行したAPI KEYを入力します。

これで準備完了です。

実行する

では、実装したスクリプトを呼び出してみます。

function test() {
  ai('Google Apps Scriptについて教えて')
}

このようなtest()を作成して、ai()を呼び出してみます。

これの出力された実行結果が以下になります。

**Google Apps Script**

Google Apps Script は、Google Workspace のスプレッドシート、ドキュメント、フォームなどのアプリケーションをカスタマイズおよび自動化するスクリプティング環境です。

**特徴:**

* **クロスプラットフォーム:** ウェブ、モバイルデバイス、デスクトップからアクセスできます。
* **ビルトインサービス:** 他の Google サービス(スプレッドシート、Gmail、カレンダーなど)と簡単に接続できます。
* **拡張性:** JavaScript で記述されており、追加のライブラリやスクリプティング サービスをサポートしています。
* **効率性:** リピタタスクの自動化と時間の節約に役立ちます。
* **ビジュアルエディター:** コード編集の初心者向けに、簡単なビジュアルインターフェースを提供しています。

**ユースケース:**

Google Apps Script は、次のようなタスクに使用できます。

* データの抽出と分析
* ワークフローの自動化
* カスタムインターフェースの作成
* トリガーベースのアクションの実行

**仕組み:**

Google Apps Script は、Google Cloud Platform のインフラストラクチャ上で実行されます。スクリプティング コードは Google サーバーで実行され、アプリのネイティブリソースにアクセスできます。

**開始方法:**

* Google Script エディターにアクセスします。
* [新しいプロジェクト] をクリックしてスクリプティング プロジェクトを作成します。
* JavaScript エディターでコードを記述します。
* [保存] をクリックしてスクリプトリビジョンを作成します。
* [デプロイ] メニューから [アプリとしてデプロイ]> [新しいデプロイメント] を選択します。

**追加リソース:**

* [Google Apps Script のドキュメント](https://developers.google.com/apps-script)
* [Google Apps Script のチュートリアル](https://developers.google.com/apps-script/quickstart/docs)
* [Google Apps Script のコミュニティ フォーラム](https://productforums.google.com/forum/#!categories/apps-script/apps-script)

簡単に呼び出すことができました。

まとめ

無事、GASを使ってGemin Pro APIを呼び出すことができました。GASは初心者でも比較的簡単に扱える言語なので、ぜひ試してみてください。

お問い合わせプライバシーポリシー制作物