Aller au contenu principal

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èles
  • Consumer 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

AspectAPI MistralVertex AI
ClientMistral()MistralGCP()
AuthClé APIGoogle ADC
RégionAutomatiqueConfigurable
FIMOuiOui (Codestral)
FacturationMistralGoogle Cloud

Points clés à retenir

  • Le client MistralGCP utilise 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