Aller au contenu principal
Leçon 12 sur 14 · API Mistral — Démarrage Rapide

Mistral sur Google Vertex AI

Leçon 12 sur 14 Mis à jour le 2 novembre 2026 Développeur
Sur cette page
  1. Pourquoi Vertex AI ?
  2. Modèles disponibles sur Vertex AI
  3. Préparer votre environnement Google Cloud
  4. Un premier appel sans clé API
  5. Le cas particulier du FIM avec Codestral
  6. Le client Vertex en TypeScript
  7. Passer en production proprement
  8. Points clés à retenir

Mise à jour du 2 novembre 2026 — Google Cloud. Google range désormais son offre d’IA sous le nom Gemini Enterprise Agent Platform (« Agent Platform ») ; le Model Garden y est toujours présent. Les modèles Mistral disponibles sont Mistral Medium 3 (mistral-medium-3), Codestral 2 (codestral-2), Mistral OCR 25.05 (mistral-ocr-2505) et Mistral Small 3.1 (mistral-small-2503). Avec le SDK Mistral v2 et suivants, le client s’importe par from mistralai.gcp.client import MistralGCP et s’installe avec pip install "mistralai[gcp]". Sources : Mistral AI models (Google Cloud) · Vertex AI (Mistral).

Pourquoi Vertex AI ?

Google Cloud Vertex AI est la plateforme MLOps de Google, et elle héberge des modèles partenaires, dont ceux de Mistral. La logique est la même que pour Azure : si votre infrastructure repose déjà sur Google Cloud — BigQuery pour les données, Cloud Run ou GKE pour l’exécution — passer par Vertex vous évite d’introduire un fournisseur de plus dans votre chaîne.

L’argument décisif est ici l’authentification. Vous n’avez plus de clé API Mistral à distribuer, à faire tourner et à surveiller : vos services s’authentifient avec leur compte de service Google, exactement comme ils le font déjà pour accéder à un bucket ou à une table BigQuery. S’ajoutent une facturation centralisée sur votre compte Cloud Billing et l’accès aux outils MLOps de Google.

Modèles disponibles sur Vertex AI

En avril 2026, Vertex AI donne accès aux modèles suivants :

ModèlePositionnement
Mistral MediumModèle polyvalent hautes performances
Mistral SmallRapide et économique
CodestralSpécialisé dans le code, avec support FIM (Fill-in-the-Middle)
Mistral OCRExtraction de contenu documentaire

Préparer votre environnement Google Cloud

La configuration se fait une fois pour toutes et conditionne tout le reste :

  1. Un projet Google Cloud avec l’API Vertex AI activée
  2. Les rôles IAM suivants attribués à votre compte :
    • Vertex AI User — pour invoquer les modèles
    • Consumer Procurement Entitlement Manager — pour activer les modèles partenaires
  3. Le CLI gcloud installé et configuré

Le second rôle surprend souvent : il n’a rien à voir avec l’inférence, il autorise l’activation de modèles partenaires dans le catalogue. Sans lui, vous verrez les modèles Mistral dans l’interface sans jamais pouvoir les activer, et l’erreur renvoyée ne pointe pas clairement vers ce manque de droits.

# Installer gcloud (si pas déjà fait)
# Voir https://cloud.google.com/sdk/docs/install

# S'authentifier
gcloud auth application-default login

# Définir le projet par défaut
gcloud config set project votre-projet-id

Il reste une étape que l’on oublie régulièrement : rendez-vous sur la console Vertex AI, cherchez le modèle Mistral souhaité dans le Model Garden, et cliquez sur Activer. Cette activation est nécessaire une seule fois par modèle et par projet. Un appel vers un modèle non activé échoue même si vos rôles IAM sont corrects — c’est la première chose à vérifier devant une erreur d’autorisation inexpliquée.

Un premier appel sans clé API

Remarquez d’abord ce qui manque dans le code ci-dessous : aucune clé API, aucun secret à charger. Le SDK Mistral V2 fournit pour Google Cloud un client dédié, MistralGCP, qui s’appuie sur google.auth.default() : il reprend les identifiants que gcloud auth application-default login a déposés localement, ou le compte de service attaché à la machine en production.

from mistralai.gcp.client import MistralGCP

# L'authentification utilise google.auth.default()
# Assurez-vous d'avoir exécuté : gcloud auth application-default login
client = MistralGCP()

response = client.chat.complete(
    model="mistral-small-2503",
    messages=[
        {"role": "user", "content": "Expliquez l'architecture de BigQuery."}
    ]
)

print(response.choices[0].message.content)

Par défaut, le client utilise la région europe-west4, aux Pays-Bas. Pour la changer, passez-la simplement au constructeur — sachant que les régions disponibles dépendent du modèle et que la documentation Vertex AI fait foi sur ce point.

client = MistralGCP(region="us-central1")

Le streaming reprend la mécanique déjà vue sur l’API directe : itération sur le flux, contenu accessible via chunk.data, et test avant affichage puisque certains fragments arrivent vides.

stream = client.chat.stream(
    model="mistral-small-2503",
    messages=[
        {"role": "user", "content": "Listez les services serverless de Google Cloud."}
    ]
)

for chunk in stream:
    content = chunk.data.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

Le cas particulier du FIM avec Codestral

Codestral sur Vertex AI supporte le Fill-in-the-Middle (FIM), une fonctionnalité qui change la façon d’aborder la complétion de code. Au lieu de demander « écris-moi une fonction », vous fournissez le début et la fin, et le modèle produit ce qui manque entre les deux. La méthode change également : ce n’est plus chat.complete() mais fim.complete(), avec un prompt pour l’amont et un suffix pour l’aval.

from mistralai.gcp.client import MistralGCP

client = MistralGCP()

response = client.fim.complete(
    model="codestral-2",
    prompt="def calculer_moyenne(notes: list[float]) -> float:",
    suffix="    return moyenne"
)

print(response.choices[0].message.content)

Dans cet exemple, le modèle génère le corps de la fonction entre la signature et le return. Il sait qu’une variable moyenne doit exister à la fin, puisqu’elle apparaît dans le suffixe : la contrainte le guide bien mieux qu’une consigne en langage naturel. C’est exactement ce qui se passe quand un IDE complète une fonction au milieu d’un fichier, ce qui rend le FIM particulièrement efficace pour la complétion dans un éditeur, le remplissage de blocs de code manquants et la génération de code qui doit s’insérer dans une structure existante.

Le client Vertex en TypeScript

En JavaScript et TypeScript, le client Google Cloud est publié dans un paquet à part, @mistralai/mistralai-gcp (npm add @mistralai/mistralai-gcp), et s’appelle MistralGCP depuis la version 2.0 du SDK (il s’appelait auparavant MistralGoogleCloud). La région et l’identifiant du projet se déclarent à la construction, et là encore aucune clé n’apparaît dans le code.

import { MistralGCP } from '@mistralai/mistralai-gcp';

const client = new MistralGCP({
  region: 'europe-west4',
  projectId: process.env.GOOGLE_PROJECT_ID,
});

const response = await client.chat.complete({
  model: 'mistral-small-2503',
  messages: [
    { role: 'user', content: 'Comment optimiser une requête BigQuery ?' },
  ],
});

console.log(response.choices?.[0]?.message?.content);

Sources : SDK TypeScript @mistralai/mistralai-gcp · notes de version 2.0.0 du SDK TypeScript

Passer en production proprement

L’authentification utilisateur via gcloud auth application-default login est parfaite pour développer, mais elle lie vos appels à une personne : le jour où cette personne quitte l’équipe, le service tombe. En production, utilisez des comptes de service, dont les droits sont explicites et auditables. Conservez europe-west4 comme région par défaut si la conformité européenne fait partie de vos contraintes. Activez Cloud Logging pour suivre vos appels et diagnostiquer les erreurs, et configurez des budgets Cloud Billing : sur une plateforme où l’inférence se facture à l’usage, une alerte de budget est votre seul garde-fou contre une boucle qui s’emballe.

Points clés à retenir

  • Le client MistralGCP utilise l’authentification Google Cloud native (gcloud auth)
  • La région par défaut est europe-west4 — modifiable à l’initialisation
  • Codestral sur Vertex supporte le FIM (Fill-in-the-Middle) pour la complétion de code
  • Aucune clé API Mistral n’est nécessaire : l’authentification passe par Google Cloud IAM
  • Activez chaque modèle dans le Model Garden avant de l’utiliser