2024.09.11 コラム
無料で Gemini 1.5 flash をスプシ上で実行してみる
DataCurrent の金子です。Gemini 1.5 を Google スプレッドシート上で実行してみました。
Google スプレッドシート上で Gemini を利用できるようにすることで、以下のようなメリットが期待できます。
- スプレッドシート上のデータを使ったプロンプト作成が可能
- 従来の対話型インターフェースだけでなく、表計算ツールを通した Gemini の利用が可能
※ 2024年8月30日時点の情報です。情報が古くなっている場合がありますので、最新情報をご確認ください。
※ 無料で利用する場合は、Gemini API の利用規約をよく読んだ上で、機密情報や個人情報を送信しないよう十分に注意してください。
※ こちらの内容は Google Cloud Next ’24 のセッションを参考にしました。
事前準備
Google AI Studio から API キーを取得する
- Google AI Studio にアクセスします。
- 「API キーを作成」をクリックします。
- プロジェクトを指定します。この時、プロジェクトが請求先アカウントに紐づいている場合は有料になりますので、ご注意ください。
- API キーをコピーします。
- API キーを確認し、プランが「無料」であることを確認します。作成した当初は「無料」になっていますが、有料プロジェクトを選択した場合は、しばらくすると「有料」に変わります。
スプレッドシートで App Script を設定する
- Google スプレッドシートを開きます。
- ツールバーから「拡張機能」をクリックし、「App Script」を選択します。
- 左側の歯車アイコンをクリックし、「プロジェクトの設定」を選択します。
- 「スクリプト プロパティ」をクリックし、
api_key
というプロパティ名に対し、値に先ほど取得した API キーを設定します。その後「スクリプト プロパティを保存」をクリックします。
- 同じページの上部に『「appsscript.json」マニフェスト ファイルをエディタで表示する』があるので、チェックを入れます。
- コードを貼り付けていきます。GitHub 上に Google が作成したコードがあるので、こちらを利用しましょう。先ほど「プロジェクトの設定」を選択したサイドメニューから「エディタ」をクリックします。まずは「コード.gs」に GitHub 上の Code.js をコピーして貼り付けます。その際、27 行目が英語のプロンプトなので、以下を例に日本語へ書き換えると良いでしょう。
${range}
や${prompt}
については後述します。
prompt = `${range} これらのセル情報と次に示す指示に基づき、回答を示せ。指示:${prompt}`
- 次に gemini.gs というファイルを追加して、GitHub 上の gemini.js をコピーして貼り付けます。その際、65 行目はデフォルトで gemini-pro(古いバージョンのもの)になっているので、
gemini-1.5-flash
に書き換えます。モデルのバージョンについては、公式ドキュメントを参照してください。
- 最後にタイトル下の保存ボタンを押します。左側の
コード.gs
やgemini.gs
の左側に赤色の 〇 が表示されていなければ、保存が完了しています。また、Github 上には appscript.json もありますが、こちらをコピーして貼り付けする必要はありません。
スプレッドシートで実行する
冒頭のスプレッドシートの画像では、B12 に以下のプロンプトテンプレートを記入しました。
これからシフト表を作成します。 事前にメンバーから以下のようにシフトの都合をヒアリングしました。 ''' |メンバー|シフトの都合| |---|---| | 山田太郎 |土日のみ、日中でしたら稼働できます。月曜日から金曜日は終日不可です。| | 鈴木花子 | 日中ならいつでも大丈夫です。| | 佐藤秀忠 | 夜のみ入れます。| ''' 次の名前の人物は、セル範囲で指定された日付・曜日にシフトを入れても大丈夫でしょうか。 回答は「早番」「遅番」「✕」のいずれかで回答してください。前文は省略し、いずれかの単語のみ答えます。 回答のタイプの説明は以下の通りです。 ''' | シフトの選択肢 | 説明 | | --- | --- | | 早番 | 日中の稼働が可能な場合 | | 遅番 | 夜のみ稼働が可能な場合 | | ✕ | シフトをいれない | ''' 名前:
B3:F7 の表は以下の通りです。
2024/09/01 | 2024/09/02 | 2024/09/03 | 2024/09/04 | |
---|---|---|---|---|
日曜日 | 月曜日 | 火曜日 | 水曜日 | |
山田太郎 | ||||
鈴木花子 | ||||
佐藤秀忠 |
C5 には以下のカスタム関数を記入しました。この関数は コード.gs
で gemini(range, prompt)
と定義したものになっています。
=gemini(C$3:C$4,$B$12&$B5&" 回答:")
第一引数は、日付と曜日を範囲指定で指定しています。第二引数は、プロンプトです。プロンプトテンプレートと名前を結合し、最後に「 回答:」を追加することで、出力が単語のみになるように調整しました。
これを C5 ~ F7 に広げることで、各人のシフトを入れることができたと思います。
※ うまくいかない場合は、gemini.gs の 33 行目 temperature の値を 0.0
にしたり、プロンプトテンプレートを変えてみるなどして調整してみてください。
まとめ
スプレッドシートで Gemini を実行するデモを行いました。生成 AI を利用するには、今まではチャットインターフェースが主流でしたが、スプレッドシートのような表計算ツールを通じて利用することも可能です。これまでとは異なる生成 AI の使い方をすることで、様々な応用が期待できるのではないでしょうか。
自社に専門人材がいない、リソースが足りない等の課題をお持ちの方に、エンジニア領域の支援サービス(Data Engineer Hub)をご提供しています。
お困りごとございましたら是非お気軽にご相談ください。
【本件に関するお問い合わせ先】
DataCurrent 広報
E-mail:info@datacurrent.co.jp