Déploiements exclusivement sur Vertex

Garantissez que le trafic Gemini atteint uniquement Vertex AI ({location}-aiplatform.googleapis.com) et jamais le point de terminaison Gemini API Studio (generativelanguage.googleapis.com). Les charges de travail rĂ©glementĂ©es — HIPAA, rĂ©sidence des donnĂ©es, VPC Service Controls — l’exigent : le point de terminaison Studio n’est pas couvert par un BAA de Google Cloud, contrairement Ă  Vertex AI.

Choix du point de terminaison

GeminiModel::from_env et provider_from_env consultent deux indicateurs d’environnement avant toute clĂ© API. Un indicateur est considĂ©rĂ© comme vrai lorsque sa valeur est 1 ou un true insensible Ă  la casse.

IndicateurStatutRemarques
GOOGLE_GENAI_USE_ENTERPRISEActuelPrend le dessus lorsque les deux sont définis
GOOGLE_GENAI_USE_VERTEXAIObsolĂšteToujours pris en compte pour assurer la paritĂ© avec adk-python ; aucun avertissement d’obsolescence n’est Ă©mis
Indicateur VertexFonctionnalité gemini-vertexRésultat
VraiCompilĂ©Vertex AI via les identifiants par dĂ©faut de l’application (GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_LOCATION)
Vrai, projet ou emplacement manquantCompilĂ©Erreur indiquant la variable manquante — aucun recours Ă  Studio
ÉvaluĂ© comme vraiNon compilĂ©Erreurs GeminiModel::from_env ; provider_from_env Ă©met un avertissement tracing et passe Ă  la dĂ©tection de clĂ© API, qui peut sĂ©lectionner Studio
N’est pas Ă©valuĂ© comme vrai—Gemini API (Studio) via GOOGLE_API_KEY ou GEMINI_API_KEY

Important : les indicateurs ont priorité sur toute clé API, y compris ANTHROPIC_API_KEY et OPENAI_API_KEY dans provider_from_env. Une clé API isolée ne peut pas rediriger un déploiement associé à Vertex vers Studio.

Configuration

1. Activer la fonctionnalité gemini-vertex

Compilez le backend Vertex avec celle-ci — sans elle, l’indicateur ne peut pas ĂȘtre pris en compte :

[dependencies]
adk-rust = { version = "2.1.0", features = ["minimal", "gemini-vertex"] }

Ou utilisez le prĂ©rĂ©glage de la plateforme, qui l’inclut :

[dependencies]
adk-rust = { version = "2.1.0", features = ["minimal", "gemini-agent-platform"] }

2. DĂ©finir les indicateurs d’environnement

export GOOGLE_GENAI_USE_ENTERPRISE=true
export GOOGLE_CLOUD_PROJECT=my-project
export GOOGLE_CLOUD_LOCATION=us-central1

Supprimez GOOGLE_API_KEY et GEMINI_API_KEY de l’environnement de dĂ©ploiement par dĂ©fense en profondeur — lorsque l’indicateur est vĂ©ridique, ils ne sont jamais consultĂ©s, mais leur suppression Ă©limine entiĂšrement le chemin rĂ©siduel.

3. Configurer les identifiants d’application par dĂ©faut

Le chemin Vertex s’authentifie avec ADC, et non avec une clĂ© API :

# Local development
gcloud auth application-default login

# Service accounts (CI, containers)
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json

Sur GKE et Cloud Run, Workload Identity fournit ADC sans fichier de clé.

4. Construire le modùle à partir de l’environnement

use adk_model::gemini::GeminiModel;

// The Vertex path builds Application Default Credentials, which requires a
// current Tokio runtime.
#[tokio::main]
async fn main() -> adk_core::Result<()> {
    // Vertex AI when a flag is truthy; errors instead of falling back to
    // Studio when the Vertex configuration is incomplete.
    let model = GeminiModel::from_env("gemini-3.7-flash")?;
    Ok(())
}

Ou via la détection automatique du fournisseur sur le crate englobant :

use adk_rust::provider_from_env;

#[tokio::main]
async fn main() -> adk_rust::Result<()> {
    let model = provider_from_env()?;
    Ok(())
}

VĂ©rifier l’absence de trafic Studio

Au moment de la compilation — l’indicateur gĂ©nĂšre une erreur au lieu de dĂ©grader silencieusement le comportement :

  • GeminiModel::from_env avec un indicateur vĂ©ridique et sans fonctionnalitĂ© gemini-vertex renvoie une erreur indiquant le nom de la fonctionnalitĂ©.
  • Un indicateur vĂ©ridique avec GOOGLE_CLOUD_PROJECT ou GOOGLE_CLOUD_LOCATION manquant renvoie une erreur indiquant le nom de la variable manquante.

À l’exĂ©cution — surveillez l’avertissement de garde-fou. provider_from_env l’émet chaque fois qu’un indicateur Vertex est vĂ©ridique, mais que la fonctionnalitĂ© gemini-vertex n’est pas compilĂ©e et que la dĂ©tection se rabat sur les clĂ©s API :

WARN vertex backend requested via environment but the gemini-vertex feature is not compiled; api-key detection may select the gemini studio endpoint (generativelanguage.googleapis.com)

Un dĂ©ploiement exclusivement Vertex doit considĂ©rer cet avertissement comme une erreur de dĂ©ploiement : cela signifie que le binaire a Ă©tĂ© compilĂ© sans la fonctionnalitĂ© gemini-vertex. Configurez une alerte Ă  ce sujet dans l’agrĂ©gation des journaux.

RĂ©seau — pour les pĂ©rimĂštres VPC Service Controls, bloquez la sortie vers generativelanguage.googleapis.com. Lorsque l’indicateur est truthy et que la fonctionnalitĂ© est compilĂ©e, aucun chemin de code ne construit de client Studio ; le blocage ne se dĂ©clenche donc jamais pour le trafic ADK.

Dépannage

SymptĂŽmeCauseCorrection
Erreur nommant GOOGLE_CLOUD_PROJECT / GOOGLE_CLOUD_LOCATIONIndicateur évalué à vrai, cible Vertex incomplÚteDéfinir les deux variables
Erreur nommant la fonctionnalité gemini-vertexIndicateur évalué à vrai, fonctionnalité non compiléeAjouter gemini-vertex (ou gemini-agent-platform) aux fonctionnalités adk-rust
L’avertissement du garde-fou s’afficheprovider_from_env a utilisĂ© les clĂ©s API comme solution de secoursReconstruisez avec gemini-vertex ; supprimez les clĂ©s API de Studio de l’environnement
Erreurs d’authentification au moment de la requĂȘteADC n’est pas configurĂ©ExĂ©cutez gcloud auth application-default login ou dĂ©finissez GOOGLE_APPLICATION_CREDENTIALS
Déploiements exclusivement sur Vertex - Documentation ADK-Rust | ADK-Rust