Gemini JS SDK v0.24.0、自分のコードに関係する変更はどこか

鈴木 蓮
鈴木 蓮 20代・ ソフトウェアエンジニア
先週 generative-ai-js の v0.24.0 がリリースされた。変更点は4つだけで、パッと見は地味なリリースだ。でも「自分のプロジェクトに影響あるか?」という視点で読むと、見え方が変わってくる。

バッファ渡しで画像アップロードが楽になった



今回いちばん実務に刺さるのが、ファイルマネージャーにバッファを直接渡せるようになった件だ。これまで File Manager API にファイルをアップロードするとき、一度ディスクに書き出してからパスを渡すか、ストリームをうまく扱う必要があった。自分もローカルの画像を Gemini に食わせるコードを書いたとき、一時ファイルを作る処理がどうにも気持ち悪かった。それが Buffer を直接渡せるようになったので、Node.js の処理フローがかなりすっきりする。S3 から取得したデータをそのまま渡す、みたいなユースケースが普通に書けるようになる。

String Schema に型チェックが入った



もう一個が、String Schema まわりに型が追加されたこと。Gemini の Function Calling や Structured Output を使うとき、スキーマの format フィールドに好き勝手な文字列を書けてしまっていた。TypeScript を使っていても、誤ったフォーマット指定をランタイムまで気づかないことがあった。今回の変更で、許可された値以外を渡すとコンパイルエラーになる。地味だけど、チームで使ってるコードベースだと特に助かる変化だ。レビューで「ここの format って何が入るの?」ってなることも減るはず。

整理すると今回の変更点はこんな感じだ。

  • File Manager API でバッファ直接アップロードに対応
  • String Schema の format フィールドに型を追加(不正な値がコンパイルエラーになる)
  • パッケージバージョンの更新
  • パブリッシュの手動ワークフローを追加


バッファ対応と型チェックが主な実用上の変化で、残り2つはライブラリの管理まわりの変更だ。

このリリース、自分が既存コードをどう触るかというと、まずファイルアップロード周りを見直すつもりだ。今のコードが一時ファイルを経由しているなら、バッファ渡しに切り替える価値は十分ある。テストも書きやすくなるので、副次効果も大きい。

String Schema の型追加については、アップデートしたあと型エラーが出ないかを一度確認してほしい。もし既存コードで不正な文字列を format に渡していたなら、今回のアップデートで初めてコンパイルエラーが出る可能性がある。ただ、これは「バグが顕在化した」というより「今まで黙って受け入れていた不正な値が表に出た」という理解が正しい。修正すべきコードが見つかるという意味で、むしろ歓迎できる変化だと思う。

v0.23.0 から v0.24.0 への変更量は少ない。でもこういう小粒なリリースに含まれる型まわりの変更は、チームのコードの品質に静かに効いてくる。まず手元の型エラーチェックから試してみてほしい。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む