Hermes Agent Wiki 非公式・日本語wiki

Google Vertex AI

目次

Hermes Agent は、Vertex の OpenAI 互換エンドポイント経由で Google Cloud Vertex AI 上の Gemini モデルに対応しています。Google AI Studio のプロバイダーgenerativelanguage.googleapis.com に対して固定の API キーを使うもの)と違い、Vertex では企業向けのレート上限と GCP の請求・クレジットが使えます。Gemini の利用分を AI Studio のキーではなく Google Cloud のアカウント側で扱いたいときは、こちらが適しています。

事前に必要なもの

  • Google Cloud プロジェクトVertex AI API が有効で、請求が有効になっているもの。
  • 認証情報 — 次のどちらか。
    • roles/aiplatform.user ロールを持つサービスアカウントの JSON キーファイル、または
    • gcloud auth application-default login で用意するアプリケーションのデフォルト認証情報(GCP の VM 上で動かす場合はメタデータサーバーでも構いません)。
  • google-auth — Vertex を初めて選んだときに自動で入ります(遅延インストール)。うまくいかない場合は hermes setup を実行して、管理されたインストールを修復してください。

すぐ使い始める

# Option A — service account JSON (recommended for servers / gateways)
echo "VERTEX_CREDENTIALS_PATH=/path/to/service-account.json" >> ~/.hermes/.env

# Option B — Application Default Credentials (good for local dev)
gcloud auth application-default login

# Select Vertex as your provider
hermes model
# → Choose "More providers..." → "Google Vertex AI"
# → Enter your GCP project ID (or leave blank to use the one in your credentials)
# → Choose a region (default: global)
# → Select a Gemini model

# Start chatting
hermes chat

設定

Vertex の設定は、秘密にすべきかどうかで置き場所が分かれます。

  • 認証情報のパスは秘密情報を指すものなので、~/.hermes/.env に置きます。
  • プロジェクト ID とリージョンは秘密ではない経路の設定なので、~/.hermes/config.yaml に置きます。

~/.hermes/.env:

# One of these (checked in this order); omit both to use ADC:
VERTEX_CREDENTIALS_PATH=/path/to/service-account.json
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json

~/.hermes/config.yaml:

model:
  default: google/gemini-3-flash-preview
  provider: vertex

vertex:
  project_id: my-gcp-project   # blank → use the project embedded in the credentials
  region: global               # "global" is required for the Gemini 3.x previews

認証のしくみ

  1. Hermes は認証情報を VERTEX_CREDENTIALS_PATHGOOGLE_APPLICATION_CREDENTIALS → ADC の順に探します。
  2. OAuth2 のアクセストークン(cloud-platform スコープ)を発行してキャッシュし、期限まで 5 分を切ると更新します。
  3. トークンは、Vertex のエンドポイントを指した標準の OpenAI クライアントに渡されます。
https://aiplatform.googleapis.com/v1beta1/projects/{project}/locations/{region}/endpoints/openapi

リージョン指定の場合は、代わりに {region}-aiplatform.googleapis.com のホストを使います。

  1. 会話がトークンの寿命より長く続き、リクエストが 401 を返した場合は、Hermes がトークンを発行し直して自動で再試行します。長く動き続けるゲートウェイで ADC の更新トークン自体が期限切れになったときは、サービスアカウントの JSON が設定されていればそちらへ切り替えます。

使えるモデル

Vertex ではモデル ID に google/ というベンダー接頭辞が必要です。hermes model のピッカーには次のものが並びます。

モデル ID
Gemini 3.1 Pro Preview google/gemini-3.1-pro-preview
Gemini 3 Pro Preview google/gemini-3-pro-preview
Gemini 3 Flash Preview google/gemini-3-flash-preview
Gemini 3.1 Flash Lite Preview google/gemini-3.1-flash-lite-preview
Gemini 2.5 Pro google/gemini-2.5-pro
Gemini 2.5 Flash google/gemini-2.5-flash

会話の途中でモデルを切り替える

/model google/gemini-3-pro-preview
/model google/gemini-3-flash-preview

/model は、すでに設定済みのプロバイダーとモデルの間で切り替えるものです。新しい認証情報を聞いてはくれません。先に hermes model で Vertex を設定しておいてください。

推論・思考

Vertex は Gemini の思考予算を OpenAI 互換の形で公開しています。Hermes は推論の強さの設定を extra_body.google.thinking_config へ自動的に対応づけるので、reasoning_effort はほかの Gemini 系と同じように働きます。

診断

hermes doctor

doctor は、Vertex の認証情報(サービスアカウントのパスまたは ADC)を解決できるかどうかと、プロバイダーが設定済みかどうかを報告します。

うまくいかないとき

「Vertex AI credentials could not be resolved」と出る

サービスアカウントの JSON も、動作する ADC も見つからなかった状態です。~/.hermes/.envVERTEX_CREDENTIALS_PATH を設定するか、gcloud auth application-default login を実行してください。認証情報にプロジェクトが埋め込まれていない場合は、config.yamlvertex.project_id を設定します。

google-auth が入っていない

Vertex プロバイダーを初めて選んだときに、Hermes が遅延インストールします。それが失敗した場合は hermes setup を実行して、管理されたインストールを修復してください。

Gemini 3.x のモデルで 404 になる

おそらくリージョン指定のエンドポイントを使っています。config.yamlvertex: の節で region: global を設定するか、VERTEX_REGION を解除してください。

403 や権限エラーになる

サービスアカウント(または ADC の ID)に、そのプロジェクトでの roles/aiplatform.user ロールが必要です。あわせて、そのプロジェクトで Vertex AI API が有効になっている必要があります。