Google Vertex AI
Mis à jour le 29 juillet 2026
Mistral sur Google Cloud
Google Cloud Vertex AI intègre les modèles Mistral dans sa plateforme ML unifiée. L’accès passe par un client dédié, MistralGCP, dont la particularité tient à l’authentification : il n’y a pas de clé API Mistral à gérer, puisque le client s’appuie sur les identifiants Google Cloud déjà en place sur votre machine ou votre service. Cette leçon couvre la configuration, le code Python et la fonctionnalité que Vertex AI met particulièrement en avant, le FIM (Fill-in-the-Middle) avec Codestral.
Modèles disponibles sur Vertex AI
Plusieurs modèles sont accessibles via Vertex AI ; le catalogue évoluant régulièrement, consultez la page officielle pour la liste à jour. Mistral Medium 3.5 y tient le rôle de modèle polyvalent performant, celui vers lequel vous irez par défaut pour de la génération ou de l’analyse de texte. Codestral 2 (25.08) est spécialisé code et supporte le FIM, la fonctionnalité détaillée plus bas dans cette leçon. Mistral OCR (25.05) couvre la reconnaissance optique de caractères, typiquement pour extraire le texte d’un lot de factures numérisées avant de le passer à un autre modèle. Mistral Small (25.03), léger et rapide, s’impose enfin sur les traitements de masse où la latence pèse davantage que la finesse de la réponse.
Prérequis
La configuration Google Cloud doit être en place avant la première ligne de Python. Il vous faut un projet Google Cloud avec l’API Vertex AI activée, le CLI gcloud installé et configuré, et deux rôles IAM sur votre compte de service :
Vertex AI User— pour appeler les modèlesConsumer Procurement Entitlement Manager— pour activer les modèles Mistral
Le second rôle est celui qui manque neuf fois sur dix : sans lui, l’activation des modèles échoue alors même que vos appels semblent correctement authentifiés.
# Installer gcloud CLI
curl https://sdk.cloud.google.com | bash
# Se connecter
gcloud auth application-default login
# Configurer le projet
gcloud config set project mon-projet-gcp
Reste une étape qui ne se fait pas en ligne de commande : les modèles Mistral doivent être activés dans le Model Garden de Vertex AI avant toute utilisation. Rendez-vous dans le portail Vertex AI, ouvrez Model Garden, recherchez Mistral et activez les modèles souhaités.
Le client MistralGCP
L’installation réclame l’extra gcp, qui embarque les dépendances d’authentification Google.
pip install mistralai[gcp]
L’initialisation, elle, ne prend aucun argument dans le cas nominal :
from mistralai.gcp import MistralGCP
# Authentification automatique via google.auth.default()
client = MistralGCP()
Le client utilise l’authentification par défaut de Google Cloud (ADC). Si vous avez exécuté gcloud auth application-default login, ou si votre code tourne sur une machine dotée d’un compte de service, rien d’autre n’est à configurer. Par défaut, la région retenue est europe-west4 ; vous pouvez en imposer une autre, et le choix se fait en fonction de la localisation de vos utilisateurs, car chaque milliseconde de trajet réseau s’ajoute au temps de génération.
client = MistralGCP(region="us-central1")
Chat Completions
L’appel lui-même ne réserve aucune surprise : contrairement à Azure, le paramètre model porte ici le nom réel du modèle.
from mistralai.gcp import MistralGCP
client = MistralGCP()
response = client.chat.complete(
model="mistral-large-2512",
messages=[
{"role": "system", "content": "Vous êtes un expert en architecture cloud."},
{"role": "user", "content": "Quels sont les avantages de Vertex AI par rapport à un déploiement self-hosted ?"}
],
temperature=0.3,
max_tokens=500
)
print(response.choices[0].message.content)
FIM avec Codestral
Le Fill-in-the-Middle est une capacité propre à Codestral. Au lieu de poursuivre un texte, le modèle comble un vide entre un début, passé dans prompt, et une fin, passée dans suffix. La différence est décisive pour l’autocomplétion dans un IDE, où le curseur se trouve presque toujours au milieu d’un fichier : le modèle voit ce qui suit et peut donc écrire un corps de fonction cohérent avec le return qui l’attend, ou compléter un bloc manquant dans du code existant.
from mistralai.gcp import MistralGCP
client = MistralGCP()
response = client.fim.complete(
model="codestral-2405",
prompt="def count_words(file_path: str) -> int:",
suffix="return n_words"
)
print(response.choices[0].message.content)
# Génère le corps de la fonction entre le prompt et le suffix
L’exemple prend tout son sens sur une classe réelle. Ici, le modèle reçoit l’en-tête complet, les attributs déjà définis et la méthode disconnect() qui suit ; il doit produire le corps de connect() en cohérence avec cet environnement.
response = client.fim.complete(
model="codestral-2405",
prompt="""class DatabaseConnection:
def __init__(self, host: str, port: int, database: str):
self.host = host
self.port = port
self.database = database
self.connection = None
def connect(self):""",
suffix="""
def disconnect(self):
if self.connection:
self.connection.close()
self.connection = None
"""
)
print(response.choices[0].message.content)
Le code généré réutilisera self.host, self.port et self.database, et affectera self.connection — ce qu’une complétion classique, aveugle à la suite du fichier, n’aurait aucune raison de faire.
Streaming sur Vertex AI
Le streaming s’obtient comme ailleurs, en itérant sur les chunks retournés.
stream = client.chat.stream(
model="mistral-large-2512",
messages=[
{"role": "user", "content": "Génère un script Terraform pour un cluster GKE."}
]
)
for chunk in stream:
content = chunk.data.choices[0].delta.content
if content:
print(content, end="", flush=True)
Différences avec l’API Mistral directe
| Aspect | API Mistral | Vertex AI |
|---|---|---|
| Client | Mistral() | MistralGCP() |
| Auth | Clé API | Google ADC |
| Région | Automatique | Configurable |
| FIM | Oui | Oui (Codestral) |
| Facturation | Mistral | Google Cloud |
Points clés à retenir
- Le client
MistralGCPutilise l’authentification Google Cloud native (pas de clé API Mistral) - La région par défaut est
europe-west4— adaptez-la à votre cas d’usage - Codestral sur Vertex AI supporte le FIM pour l’autocomplétion de code
- Activez les modèles dans le Model Garden avant de les utiliser
- Les identifiants Vertex sont versionnés (
codestral-2405) et évoluent à chaque génération : relevez la valeur exacte dans le Model Garden avant de câbler un déploiement - La facturation passe par votre compte Google Cloud, pas par Mistral