AWS Bedrock et Autres Providers Cloud
L’écosystème cloud de Mistral
Au-delà d’Azure et de Google Cloud, les modèles Mistral sont disponibles sur plusieurs autres plateformes cloud. Cette leçon couvre AWS Bedrock en détail, puis présente les intégrations avec Snowflake Cortex, IBM watsonx et Outscale.
AWS Bedrock
Présentation
Amazon Bedrock est le service managé d’AWS pour les modèles de fondation. Il offre un accès API unifié à plusieurs fournisseurs (Anthropic, Meta, Mistral, etc.) avec la facturation, la sécurité et la conformité AWS.
Modèles Mistral disponibles sur Bedrock
- Mistral Large (plusieurs versions) — modèle phare
- Mistral Small — rapide et économique
- Ministral (3B, 8B, 14B) — modèles compacts
- Mixtral 8x7B — modèle à mélange d’experts
- Pixtral Large — multimodal (texte + images)
Prérequis AWS
- Un compte AWS avec accès à une région supportant Bedrock
- Un principal IAM avec les permissions
bedrock:InvokeModeletbedrock:InvokeModelWithResponseStream - AWS CLI configuré et boto3 installé :
pip install boto3>=1.34.131
aws configure # Renseignez vos identifiants
- Activer les modèles Mistral dans la console Bedrock (Model Access)
Utilisation avec boto3
Contrairement à Azure et Vertex, AWS Bedrock utilise le SDK AWS natif (boto3) plutôt que le SDK Mistral :
import boto3
import json
client = boto3.client('bedrock-runtime', region_name='us-west-2')
response = client.converse(
modelId="mistral.mistral-large-2407-v1:0",
messages=[
{
"role": "user",
"content": [{"text": "Quels sont les avantages d'une architecture serverless sur AWS ?"}]
}
],
inferenceConfig={
"temperature": 0.3,
"maxTokens": 1024
}
)
texte = response["output"]["message"]["content"][0]["text"]
print(texte)
Streaming sur Bedrock
response = client.converse_stream(
modelId="mistral.mistral-large-2407-v1:0",
messages=[
{
"role": "user",
"content": [{"text": "Décrivez l'architecture Lambda + API Gateway."}]
}
],
inferenceConfig={"temperature": 0.3, "maxTokens": 1024}
)
for event in response["stream"]:
if "contentBlockDelta" in event:
texte = event["contentBlockDelta"]["delta"].get("text", "")
print(texte, end="", flush=True)
Différences API à retenir
L’API Bedrock a une syntaxe légèrement différente de l’API Mistral directe :
- Le
contentest un tableau d’objets{"text": "..."}au lieu d’une simple chaîne - Le
modelIdutilise le format AWS :mistral.{modele}-v{version}:{numero} - Les paramètres d’inférence sont dans un objet
inferenceConfigséparé - Pas de SDK Mistral nécessaire — tout passe par boto3
Snowflake Cortex
Snowflake intègre Mistral Large directement dans sa plateforme de données via Cortex AI. L’avantage principal : vos données ne quittent jamais Snowflake.
-- Utilisation directe dans une requête SQL
SELECT SNOWFLAKE.CORTEX.COMPLETE(
'mistral-large',
'Résumez ce rapport financier en trois points clés.'
) AS resume;
Cette intégration est idéale si votre pipeline de données est déjà dans Snowflake et que vous souhaitez enrichir vos données avec de l’IA sans les exporter.
IBM watsonx
IBM watsonx.ai propose Mistral Large dans son catalogue de modèles. L’accès se fait via l’API watsonx avec les identifiants IBM Cloud :
from ibm_watsonx_ai import Credentials
from ibm_watsonx_ai.foundation_models import ModelInference
model = ModelInference(
model_id="mistralai/mistral-large",
credentials=Credentials(url="https://eu-de.ml.cloud.ibm.com", api_key="..."),
project_id="votre-projet-id"
)
response = model.generate_text("Expliquez le concept de data mesh.")
Outscale (cloud souverain français)
Outscale, le cloud souverain français qualifié SecNumCloud, propose également les modèles Mistral. Pour les organisations soumises à des contraintes réglementaires strictes (secteur public, défense, santé), cette option garantit que les données et le traitement restent en France.
Choisir le bon provider
Le choix du provider dépend de votre contexte :
- API Mistral directe : le plus simple, tous les modèles disponibles, idéal pour commencer
- Azure AI : si vous êtes déjà sur Azure, facturation consolidée
- Google Vertex AI : si vous êtes sur GCP, authentification IAM native
- AWS Bedrock : si vous êtes sur AWS, intégration avec l’écosystème AWS
- Snowflake Cortex : si vos données sont dans Snowflake
- Outscale : si vous avez des exigences de souveraineté française
Points clés à retenir
- AWS Bedrock utilise boto3 et l’API
converse()— pas le SDK Mistral - Le format des messages Bedrock diffère légèrement (contenu en tableau d’objets)
- Snowflake Cortex intègre Mistral directement dans les requêtes SQL
- IBM watsonx et Outscale offrent des alternatives pour des besoins spécifiques
- Choisissez votre provider en fonction de votre écosystème cloud existant et de vos contraintes réglementaires