Profils d'inférence Bedrock
Configurez et utilisez les profils d'inférence personnalisés AWS Bedrock avec LibreChat pour l'équilibrage de charge inter-régions, l'allocation des coûts et les contrôles de conformité.
Ce guide explique comment configurer et utiliser les profils d'inférence personnalisés AWS Bedrock avec LibreChat, vous permettant d'acheminer les requêtes de modèles via des profils d'inférence d'application personnalisés pour un meilleur contrôle, une meilleure répartition des coûts et un équilibrage de charge inter-régions.
Aperçu
Les profils d'inférence AWS Bedrock vous permettent de créer des configurations de routage personnalisées pour les modèles de fondation. Lorsque vous créez un profil d'inférence personnalisé (application), AWS génère un ARN unique qui ne contient pas d'informations sur le nom du modèle :
La fonctionnalité de mappage de profil d'inférence de LibreChat vous permet de :
- Mapper des identifiants de modèle conviviaux vers des ARN de profils d'inférence personnalisés
- Acheminez les requêtes via vos profils personnalisés tout en conservant la détection des capacités des modèles
- Utilisez des variables d'environnement pour une gestion sécurisée des ARN
Pourquoi utiliser des profils d'inférence personnalisés ?
| Avantage | Description |
|---|---|
| Équilibrage de charge inter-régions | Distribue automatiquement les requêtes entre plusieurs régions AWS |
| Allocation des coûts | Étiquetez et suivez les coûts par application ou par équipe |
| Gestion du débit | Configurez un débit dédié pour vos applications |
| Conformité | Acheminez les requêtes via des régions spécifiques pour la résidence des données |
| Surveillance | Suivez l'utilisation par profil d'inférence dans CloudWatch |
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Compte AWS avec accès Bedrock activé
- AWS CLI installé et configuré
- Autorisations IAM :
bedrock:CreateInferenceProfilebedrock:ListInferenceProfilesbedrock:GetInferenceProfilebedrock:InvokeModel/bedrock:InvokeModelWithResponseStream
- LibreChat avec le endpoint Bedrock configuré (voir Configuration d'AWS Bedrock)
Création de profils d'inférence personnalisés
Important : Les profils d'inférence personnalisés ne peuvent être créés que via l'API (AWS CLI, SDK, etc.) et ne peuvent pas être créés depuis la console AWS.
Méthode 1 : AWS CLI (Recommandé)
Étape 1 : Lister les profils d'inférence système disponibles
Étape 2 : Créer un profil d'inférence personnalisé
Étape 3 : Vérifier la création
Méthode 2 : Script Python
Configuration de LibreChat
Configuration de librechat.yaml
Ajoutez la configuration de l'endpoint bedrock à votre librechat.yaml. Pour une référence complète des champs, consultez AWS Bedrock Object Structure.
Variables d'environnement
Ajoutez votre région Bedrock, vos paramètres d'authentification AWS et vos ARN de profil d'inférence à votre fichier .env :
Configuration de la journalisation
Pour vérifier que vos profils d'inférence sont utilisés correctement, activez la journalisation des invocations de modèles AWS Bedrock.
1. Créer un groupe de journaux CloudWatch
2. Créer un rôle IAM pour la journalisation de Bedrock
Créez le fichier de politique de confiance (bedrock-logging-trust.json) :
Créer le rôle :
Attacher les permissions CloudWatch Logs :
Créer un bucket S3 pour les données volumineuses (requis) :
3. Activer la journalisation des invocations de modèles
Vérifiez que la journalisation est activée :
Vérification de votre configuration
Voir les logs via CLI
Après avoir effectué une requête via LibreChat, vérifiez les logs :
À quoi faire attention
Dans la sortie des journaux, recherchez le champ modelId :
Indicateurs de succès :
modelIdaffiche votre ARN de profil d'inférence personnalisé (contientapplication-inference-profile)inferenceRegionpeut varier (indique que le routage inter-régional fonctionne)
Si le mappage ne fonctionne pas :
modelIdaffichera l'ID du modèle brut au lieu de l'ARN
Afficher les journaux via la console AWS
- Ouvrez CloudWatch dans la console AWS
- Accédez à Logs > Log groups
- Sélectionnez
/aws/bedrock/model-invocations - Cliquez sur le dernier flux de journaux
- Recherchez votre ID de profil d'inférence
Surveillance de l'utilisation
Métriques CloudWatch
Afficher les métriques Bedrock dans CloudWatch :
Console AWS
- Console Bedrock > Profils d'inférence > onglet Application
- Cliquez sur votre profil personnalisé
- Voir les métriques d'invocation et les statistiques d'utilisation
Dépannage
Problèmes courants
| Problème | Cause | Solution |
|---|---|---|
| Modèle non reconnu | Modèle manquant dans le tableau models | Ajoutez l'ID du modèle à models dans librechat.yaml |
| ARN non utilisé | L'ID du modèle ne correspond pas | Assurez-vous que l'ID du modèle dans inferenceProfiles correspond exactement à celui dans models |
| Variable d'environnement non résolue | Erreur de frappe ou non définie | Vérifiez le fichier .env et assurez-vous que le nom de la variable correspond à ${VAR_NAME} |
| Accès refusé | Permissions IAM manquantes | Ajoutez les permissions bedrock:InvokeModel* pour l'ARN du profil d'inférence |
| Accès au modèle refusé | Accord sur le modèle manquant ou en cours de propagation | Acceptez l'accord sur le modèle Bedrock et attendez que la disponibilité se propage |
| Profil introuvable | Région incorrecte | Assurez-vous de créer/utiliser des profils dans la même région |
Propagation de l'accord d'accès aux modèles
La création d'un profil d'inférence d'application n'active pas automatiquement le modèle de base sous-jacent dans votre compte AWS. Si l'accès au modèle vient d'être activé, AWS peut également avoir besoin d'un court délai de propagation avant que les requêtes effectuées via le profil d'inférence ne réussissent.
Cela peut apparaître sous la forme d'une AccessDeniedException même lorsque le profil d'inférence existe et que votre rôle IAM dispose des autorisations bedrock:InvokeModel. L'erreur peut mentionner aws-marketplace:ViewSubscriptions, aws-marketplace:Subscribe, ou vous demander de réessayer après quelques minutes.
Vérifiez la disponibilité du modèle sous-jacent avant de déboguer le mappage de LibreChat :
Rechercher :
agreementAvailability.statusdéfini surAVAILABLEauthorizationStatusdéfini surAUTHORIZEDentitlementAvailabilitydéfini surAVAILABLEregionAvailabilitydéfini surAVAILABLE
Si l'accord est manquant, acceptez l'accord de modèle dans la console Bedrock ou avec un principal AWS capable de gérer les accords de modèle Bedrock et les abonnements Marketplace. Une fois que le statut passe à AVAILABLE, attendez quelques minutes et réessayez d'appeler le profil d'inférence de l'application.
Liste de vérification pour le débogage
- L'ID du modèle se trouve dans le tableau
models - L'ID du modèle dans
inferenceProfilescorrespond exactement (sensible à la casse) - La variable d'environnement est définie (si vous utilisez la syntaxe
${VAR}) - Les identifiants AWS ont l'autorisation d'invoquer le profil d'inférence
- L'accord sur le modèle de base sous-jacent est
AVAILABLEdans Bedrock - LibreChat a été redémarré après des modifications de configuration
Vérifier le chargement de la configuration
Vérifiez que votre configuration est lue correctement en examinant les journaux du serveur au démarrage de LibreChat.
Exemple complet
librechat.yaml
.env
Script de configuration rapide
Ressources associées
- Documentation des profils d'inférence AWS Bedrock
- Documentation sur l'accès aux modèles AWS Bedrock
- Structure de l'objet AWS Bedrock - Référence des champs de configuration YAML
- Configuration d'AWS Bedrock - Configuration de base de Bedrock
- Journalisation des appels de modèle AWS Bedrock
Que pensez-vous de ce guide ?