AWS Bedrock
Mistral sur Amazon Bedrock
Amazon Bedrock est le service managé d’AWS pour accéder à des modèles de fondation via une API unifiée. Mistral AI y propose une gamme complète de modèles, du léger Mistral 7B au puissant Mistral Large 3. L’intégration utilise le SDK AWS standard (boto3), ce qui facilite l’adoption pour les équipes déjà présentes sur AWS.
Modèles disponibles
Bedrock propose l’une des sélections les plus larges de modèles Mistral :
- Mistral Large 3 — raisonnement avancé, multimodal
- Ministral 3B / 8B / 14B — gamme de modèles légers
- Mistral Large 24.07 / 24.02 — versions antérieures
- Mistral Small — rapide et économique
- Mixtral 8x7B — architecture Mixture-of-Experts
- Mistral 7B — le modèle open-weight fondateur
- Pixtral Large — vision et multimodal
Prérequis
Compte et permissions AWS
- Un compte AWS avec une région supportant Bedrock
- Un IAM principal (utilisateur ou rôle) avec les permissions Bedrock :
bedrock:InvokeModelbedrock:InvokeModelWithResponseStream
- Les modèles Mistral activés dans la console Bedrock de votre région
Installation
pip install boto3>=1.34.131
Configuration AWS CLI
aws configure
# AWS Access Key ID: votre-access-key
# AWS Secret Access Key: votre-secret-key
# Default region name: us-west-2
# Default output format: json
Appel via l’API Converse
Bedrock utilise l’API Converse pour uniformiser l’accès aux différents modèles :
import boto3
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": "Explique le concept de VPC en AWS en 5 points."}]
}
],
inferenceConfig={
"temperature": 0.3,
"maxTokens": 1024
}
)
# Extraire la réponse
output = response["output"]["message"]["content"][0]["text"]
print(output)
Identifiants de modèles Bedrock
Les modèles suivent le format mistral.<nom-modèle>-<version>:0 :
# Modèles courants
MODELS = {
"large_3": "mistral.mistral-large-2407-v1:0",
"small": "mistral.mistral-small-2402-v1:0",
"mixtral": "mistral.mixtral-8x7b-instruct-v0:1",
"mistral_7b": "mistral.mistral-7b-instruct-v0:2",
}
Streaming
Pour les réponses longues, utilisez converse_stream :
response = client.converse_stream(
modelId="mistral.mistral-large-2407-v1:0",
messages=[
{
"role": "user",
"content": [{"text": "Génère un guide complet sur les Lambda functions."}]
}
],
inferenceConfig={"maxTokens": 2048}
)
for event in response["stream"]:
if "contentBlockDelta" in event:
text = event["contentBlockDelta"]["delta"].get("text", "")
print(text, end="", flush=True)
Appel avec le SDK Mistral natif
Si vous préférez utiliser le client Mistral standard plutôt que boto3, c’est possible via un adapter :
import os
from mistralai import Mistral
# Configuration pour Bedrock
client = Mistral(
api_key=os.environ.get("AWS_SECRET_ACCESS_KEY", ""),
server_url=f"https://bedrock-runtime.us-west-2.amazonaws.com"
)
Cependant, l’approche boto3 est recommandée sur AWS car elle s’intègre nativement avec IAM, CloudWatch et les autres services AWS.
Intégration avec l’écosystème AWS
CloudWatch Metrics
Bedrock envoie automatiquement des métriques à CloudWatch :
Invocations— nombre d’appelsInvocationLatency— latence par requêteInputTokenCount/OutputTokenCount— consommation de tokens
# Consulter les métriques via AWS CLI
aws cloudwatch get-metric-statistics \
--namespace "AWS/Bedrock" \
--metric-name "Invocations" \
--start-time 2026-04-01T00:00:00Z \
--end-time 2026-04-03T23:59:59Z \
--period 3600 \
--statistics Sum
Guardrails Bedrock
AWS Bedrock propose ses propres guardrails en plus de ceux de Mistral :
response = client.converse(
modelId="mistral.mistral-large-2407-v1:0",
messages=[{"role": "user", "content": [{"text": "..."}]}],
guardrailConfig={
"guardrailIdentifier": "mon-guardrail-id",
"guardrailVersion": "1"
}
)
Différences avec l’API Mistral directe
| Aspect | API Mistral | AWS Bedrock |
|---|---|---|
| SDK | mistralai | boto3 |
| Auth | Clé API | IAM (SigV4) |
| API | chat.complete() | converse() |
| Streaming | chat.stream() | converse_stream() |
| Monitoring | Manuel | CloudWatch natif |
| Facturation | Mistral | AWS |
Points clés à retenir
- Bedrock utilise
boto3et l’APIconverse()— pas le client Mistral standard - L’authentification passe par IAM, pas par une clé API Mistral
- Les métriques CloudWatch sont envoyées automatiquement (latence, tokens, invocations)
- Activez les modèles dans la console Bedrock avant de les utiliser
- Le streaming se fait via
converse_stream()avec des events