Mistral sur Google Vertex AI
Mis à jour le 29 juillet 2026
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èle | Positionnement |
|---|---|
| Mistral Medium | Modèle polyvalent hautes performances |
| Mistral Small | Rapide et économique |
| Codestral | Spécialisé dans le code, avec support FIM (Fill-in-the-Middle) |
| Mistral OCR | Extraction de contenu documentaire |
Préparer votre environnement Google Cloud
La configuration se fait une fois pour toutes et conditionne tout le reste :
- Un projet Google Cloud avec l’API Vertex AI activée
- Les rôles IAM suivants attribués à votre compte :
Vertex AI User— pour invoquer les modèlesConsumer Procurement Entitlement Manager— pour activer les modèles partenaires
- 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 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-latest",
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-latest",
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 import MistralGCP
client = MistralGCP()
response = client.fim.complete(
model="codestral-latest",
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 cloud porte un autre nom, MistralGoogleCloud, et s’importe depuis le sous-chemin /gcp du paquet. La région se déclare à la construction, et là encore aucune clé n’apparaît dans le code.
import { MistralGoogleCloud } from '@mistralai/mistralai/gcp';
const client = new MistralGoogleCloud({
region: 'europe-west4',
});
const response = await client.chat.complete({
model: 'mistral-small-latest',
messages: [
{ role: 'user', content: 'Comment optimiser une requête BigQuery ?' },
],
});
console.log(response.choices?.[0]?.message?.content);
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
MistralGCPutilise 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