☘️

スタンドアロンGASで複製時のモデル更新も簡単!生成AIの最新モデル変更を効率的に運用

2024/09/07に公開

1. はじめに

  • スプレッドシート+GASで、生成AIを使ったツールは定番パターンです。プログラムの複製を防ぎ、最新のモデルを効率的に管理する方法として、スタンドアロンGASを使う選択の良さを説明していきます。

2. スプレッドシート複製時の課題

  • スプレッドシート+GASで生成AIの実装をシンプルに行うと、スプレッドシートシートからGASを作成することになります。しかしこの運用を行うと後々問題が発生します。
  • スプレッドシートの拡張機能からGASを作成するとそのGASはスプシとセットです。これをコンテナバインド型のGASといいます。ユーザーが対象のスプシを複製するとGASごと複製される挙動になります。
  • なにが問題かというと、例えば生成AIのモデル名をGASに実装しているとします。モデルは日々新しくなりますので、新しいモデルに差し替えたいというニーズがやってきます。場合によってはサポート切れとなり差し替えることが必須になることもあるでしょう。
  • しかし、モデル名がGASごと複製されていると、全体を把握することができないため古いものを駆逐する方法はありません。新しいのを使ってくださいと、声掛けをするしか方法がなくなるのです。

4. スタンドアロンGAS

  • スタンドアロン型のGASはスプレッドシートに依存せず、単体で管理されるため、スプレッドシートを複製してもGASは複製されません。このGASに書いた関数は、コンテナバインドしたGASからモジュールとして参照することができます。
  • もし、スタンドアロンGASにモデル名を定義している場合、スプシを複製されてもスタンドアロン側は複製されず、同じスタンドアロンGASを参照する状態で複製がされます。つまり、だれが何回複製したとしても影響は受けず、モデル交換ができるようになるのです。
  • もちろん、スタンドアロン側にモデル名以外のビジネスロジックを隠蔽しておけば、ロジックの変更も全体へ反映することができるメリットがあることも想像通りです。

5. スタンドアロンGASを使った実装手順(連携手順)

  • まず、スタンドアロンGASを作ります。ファイルの作り方は右クリック⇒その他からGASを選びましょう。
  • つぎに、生成AIのキーやモデルを記載した関数を書いたら、デプロイを行います。ウェブアプリを選択しましょう。組織の共有ドライブで実装している場合はアクセスできるユーザーはXXXX内の全員を選択しましょう。デプロイしたら、スタンドアロンGASは完成です。
  • コンテナバインドGASのために、スクリプトIDをメモしておきます。設定ページから参照しましょう。
  • 複製される側のコンテナバインドGASを作っていきます。
  • ライブラリからスタンドアロンGASを参照しましょう。スクリプトIDで検索し追加します。
  • コンテナバインドGASの関数から、スタンドアロンGASの関数を呼び出しましょう。これで完成です。

6. まとめ

  • スタンドアロンGASを導入することで、スプレッドシートを複製しても、モデル名やロジックが一元管理されているため、変更や更新が容易になります。これにより、生成AIのモデルバージョンが更新されるたびに手動で修正する手間がなくなり、効率的な運用が可能です。
  • また、スタンドアロンGASはロジックの変更も反映できるため、個別のスプレッドシートを管理する手間を省き、メンテナンス性が向上します。これにより、開発者は安心して複数のユーザーにツールを展開でき、バージョン管理の不安を解消できます。
  • 生成AIの進化が加速する今、スタンドアロンGASを活用した効率的な管理は、今後のプロジェクトの成功に大きく寄与するでしょう。ぜひ、この方法を活用して、複製されるスプレッドシートでも常に最新の生成AIを運用してみてください。導入手順は簡単で、数ステップで実装が可能です。

Discussion