以下の内容はhttps://nikkie-ftnext.hatenablog.com/entry/start-gemini-cli-select-vertex-ai-pay-as-you-goより取得しました。


Vertex AI を使うように Gemini CLI を設定する

はじめに

七尾百合子さん、お誕生日 129日目 おめでとうございます! nikkieです。

Gemini CLI Meetupに参加してきました1
それをきっかけに、Vertex AI を使うように Gemini CLI を設定して使える状態にしました。

目次

将来のGeminiの訓練に使われない設定でGemini CLIを使いたい

※Gemini CLIはインストール済み(=geminiコマンドがPATHにある)を前提にします

Gemini CLI(やGemini)が無料で使えるのは、Googleに訓練データを渡すのと引き換えと理解しています。
すでにClaude Codeを訓練データを渡さない設定で使っていたので、Gemini CLIでも同様の設定をしました。
(Gemini CLIをすぐには使い出せなかったのには、「無料で使える!」が推されすぎていて、この方法を見つけるのに時間がかかったというのもあります)

Vertex AIの従量課金を選びました(スライド5に比較表)

Authentication Setupのドキュメントより (3. Vertex AI)

私は Application Default Credentials (ADC) を使う方法にしています。

  1. gcloud auth application-default login
  2. 2つの環境変数をセット
    • GOOGLE_CLOUD_PROJECT
    • GOOGLE_CLOUD_LOCATION

1は毎回やる必要はないのですが、2でコマンドが長くなる(GOOGLE_GENAI_USE_VERTEXAI=true GOOGLE_CLOUD_PROJECT=... GOOGLE_CLOUD_LOCATION=us-central1 gemini)ため、工夫してみました

PATHスクリプトを置く

工夫を考える中で『マスタリングLinuxシェルスクリプト 第2版』(1.6)を思い出しました。
PATHに以下のスクリプトvgeminiとして置きます。
(私よりシェルスクリプトに詳しい o3-pro に教えてもらっています)

#!/usr/bin/env bash
set -euo pipefail
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT=...
export GOOGLE_CLOUD_LOCATION=us-central1
exec gemini "$@"

これでvgeminiだけで、Vertex AIを使う設定のGemini CLIが起動します。
$@を渡しているので、vgemini --versionvgemini -p こんにちはもサポートします

その他のやり方

私はスクリプトのやり方を試してみたかったので選びましたが、Authentication Setupのドキュメントには他にも方法が載っています。

(1) シェルの設定ファイルで環境変数を設定

like ~/.bashrc, ~/.zshrc, or ~/.profile

(2) .envファイルを配置
Persisting Environment Variables with .env Files

Gemini CLI automatically loads environment variables from the first .env file it finds, using the following search order:

案としては、グローバルの~/.gemini/.env
ただし、まずカレントディレクトリから/の方へ最初に.env見つかるまで設定を読むそうなので、グローバルの設定が読まれなくなることもありそうですね(かといってプロジェクトごとに置くのも煩雑です)

(3) ADCの代わりにAPIキー
Vertex AIはAPIキーを使って認証することもできます。

ただこの方法でもAPIキーを環境変数GOOGLE_API_KEYに指定する必要があります。
私がやるならop runと一緒に2かな

すこーしソースコードリーディング

DeepWikiの助けを借りながら、Vertex AIを使うときにどんな処理をしているのか覗きました。
https://github.com/google-gemini/gemini-cli/blob/v0.1.13/packages/cli/src/config/auth.ts#L26-L38

When using Vertex AI, you must specify either:
GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.
GOOGLE_API_KEY environment variable (if using express mode).
Update your environment and try again (no reload needed if using .env)!

終わりに

Gemini CLIをVertex AIの従量課金で使うための設定方法の備忘録でした。
Gemini CLI環境変数を見ますが、その設定方法に工夫の余地があります。

Meetupでは発表を聞きつつ、「この機を逃したらGemini CLIを触る機会がない!」と方法を調べてもいました。
その際に参考になったのはこちらの記事です。

できた後にGemini CLIのドキュメントに当たったことで、設定方法の理解が深まりました〜




以上の内容はhttps://nikkie-ftnext.hatenablog.com/entry/start-gemini-cli-select-vertex-ai-pay-as-you-goより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14