Lección 6 — Clé d'API ou Vertex AI

Passer à Vertex AI en changeant 2 variables

5 min de lectura

Este contenido aún no está traducido. Se muestra la versión original.

Passer à Vertex AI en changeant 2 variables

Pourquoi Vertex AI ?

CritèreAPI Gemini (clé d'API)Vertex AI
Identitéune clé secrètevotre identité Google Cloud (utilisateur ou compte de service), sans clé à faire circuler
Facturationcompte AI Studioprojet Google Cloud, avec budgets et alertes
Contrôle d'accèsqui a la clé peut tout fairerôles IAM (Identity and Access Management) par personne ou service
Régiongérée par Googleglobal, ou une région précise comme europe-west1
Usage typiqueprototype, projet persoapplication d'entreprise

Le SDK google-genai parle aux deux. Il choisit selon les variables d'environnement, lues par genai.Client() :

flowchart TD
  C["genai.Client()"] --> V{"GOOGLE_GENAI_USE_VERTEXAI = TRUE ?"}
  V -->|"non"| K["API Gemini avec GEMINI_API_KEY"]
  V -->|"oui"| P["Vertex AI dans GOOGLE_CLOUD_PROJECT"]
  P --> L{"GOOGLE_CLOUD_LOCATION ?"}
  L -->|"absente"| G["global"]
  L -->|"europe-west1..."| R["région choisie"]

Les étapes

  1. Un projet Google Cloud avec facturation et l'API Vertex AI activée (gcloud services enable aiplatform.googleapis.com --project MON-PROJET).
  2. S'identifier une fois sur son poste avec les ADC (Application Default Credentials, les identifiants par défaut que les bibliothèques Google trouvent toutes seules) :
terminal
gcloud auth application-default login
  1. Changer deux variables dans .env :
.env (mode Vertex AI)
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT=mon-projet-gcp

C'est tout : make_client() ne change pas, il appelle toujours genai.Client(...). Le CLI affiche le mode détecté :

files/reunion.py
def mode() -> str:
    vertex = os.environ.get("GOOGLE_GENAI_USE_VERTEXAI", "").lower() in ("true", "1")
    return "Vertex AI" if vertex else "clé d'API"

Région et disponibilité des modèles

Sans GOOGLE_CLOUD_LOCATION, le SDK utilise le point d'accès global : Google route la requête là où le modèle est disponible. Pour garder les traitements dans une région (par exemple pour des raisons de conformité), ajoutez GOOGLE_CLOUD_LOCATION=europe-west1, mais tous les modèles n'y sont pas proposés.

Pour vérifier en une commande qu'un modèle répond dans une région :

terminal
GOOGLE_CLOUD_LOCATION=europe-west1 MODEL=gemini-2.5-flash python reunion.py tokens reunion_exemple.txt

Quelles variables suffisent pour passer l'assistant de la clé d'API à Vertex AI (région global) ?

Avec GOOGLE_CLOUD_LOCATION=europe-west1, vous obtenez 404 « Publisher model ... not found ». Que faire ?

Résultat obtenu

Le CLI en mode Vertex AI le 2026-10-15, projet de test, MODEL=gemini-2.5-flash :

python reunion.py tokens reunion_exemple.txt
[mode : Vertex AI | modèle : gemini-2.5-flash]
301 tokens en entrée, soit environ 0.000090 $ avant la réponse
python reunion.py chat reunion_exemple.txt
> Quelle date de lancement a été retenue ?
La date de lancement retenue est le 4 novembre.

> Pourquoi ?
Le lancement a été décalé car il restait des tests de bout en bout sur le module de paiement et deux jours
de recette nécessaires, ce qui empêchait de tenir la date initiale du 28 octobre.

Aucune ressource n'a été créée dans le projet : on appelle seulement un modèle. Il n'y a rien à supprimer après le test ; la consommation apparaît simplement dans la facturation du projet.

Exercice

Écrivez les deux lignes de commande (sans modifier .env) qui lancent resume d'abord en mode clé d'API, puis en mode Vertex AI dans europe-west1 avec gemini-2.5-flash.

Voir la solution
terminal
GOOGLE_GENAI_USE_VERTEXAI=FALSE python reunion.py resume reunion_exemple.txt

env -u GEMINI_API_KEY GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT=mon-projet-gcp \
    GOOGLE_CLOUD_LOCATION=europe-west1 MODEL=gemini-2.5-flash \
    python reunion.py resume reunion_exemple.txt

Une variable placée devant une commande ne vaut que pour cette commande. env -u GEMINI_API_KEY retire la clé pour lever toute ambiguïté. Attention : load_dotenv() ne remplace pas une variable déjà définie, donc ces valeurs l'emportent sur le .env.

Je sais faire

  • Expliquer ce qu'apporte Vertex AI par rapport à une clé d'API
  • M'identifier avec gcloud auth application-default login
  • Passer en mode Vertex AI avec GOOGLE_GENAI_USE_VERTEXAI et GOOGLE_CLOUD_PROJECT
  • Choisir une région et vérifier qu'un modèle y est disponible
Siguiente