Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

AWS Bedrock

Rendez-vous sur la documentation AWS pour vous inscrire à AWS et configurer vos identifiants.

Vous devrez également activer l'accès aux modèles pour votre compte, ce que vous pouvez faire en suivant ces instructions.

Authentification

Définissez toujours la région Bedrock que LibreChat doit utiliser :

BEDROCK_AWS_DEFAULT_REGION=us-east-1

LibreChat prend en charge les méthodes d'authentification suivantes pour Bedrock.

Profil AWS

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_PROFILE=your-profile-name

Utilisez ceci lorsque vous avez déjà des identifiants dans ~/.aws/config ou ~/.aws/credentials, ou lorsque votre profil utilise AWS IAM Identity Center, l'assumption de rôle (role assumption) ou credential_process.

BEDROCK_AWS_PROFILE est un paramètre spécifique à LibreChat qui transmet le profil sélectionné à la chaîne de fournisseurs d'identifiants AWS SDK pour Bedrock. Cela limite la sélection du profil à Bedrock sans modifier les identifiants utilisés par d'autres intégrations. La variable d'environnement standard AWS AWS_PROFILE reste prise en charge par la chaîne de fournisseurs par défaut d'AWS SDK.

Si votre profil utilise credential_process, sécurisez le fichier de configuration AWS et la commande d'assistance. AWS avertit que les informations secrètes écrites dans stderr peuvent être capturées ou enregistrées par les SDK et les outils.

Chaîne de fournisseur d'identifiants AWS par défaut

Vous pouvez omettre les identifiants et les paramètres de profil spécifiques à Bedrock pour laisser le SDK AWS pour JavaScript résoudre les identifiants automatiquement :

BEDROCK_AWS_DEFAULT_REGION=us-east-1

C'est l'approche privilégiée pour les déploiements qui utilisent des rôles IAM ou une autre source d'identifiants à court terme native d'AWS. Le SDK vérifie les fournisseurs d'identifiants pris en charge par ordre de priorité et s'arrête aux premiers identifiants valides qu'il trouve. Les sources courantes incluent les variables d'environnement, IAM Identity Center/SSO, les fichiers de configuration et d'identifiants partagés, l'identité web, les identifiants de conteneur ECS, les métadonnées d'instance EC2 et les identifiants de processus.

Par exemple, si les variables standard AWS AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY sont définies, ces identifiants peuvent avoir priorité sur les identifiants basés sur un profil dans ~/.aws/credentials ou ~/.aws/config.

Clé API Bedrock

Les clés API Amazon Bedrock authentifient les appels Bedrock avec une authentification bearer au lieu des identifiants AWS signés SigV4. Dans LibreChat, configurez-les avec la variable d'environnement dédiée à Bedrock :

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key

BEDROCK_AWS_BEARER_TOKEN est spécifique à LibreChat. La documentation AWS et les exemples bruts du SDK/CLI AWS utilisent la variable d'environnement standard AWS AWS_BEARER_TOKEN_BEDROCK, mais LibreChat utilise intentionnellement un nom limité à Bedrock afin que le jeton n'affecte que la configuration de l'endpoint Bedrock. LibreChat transmet cette valeur au SDK AWS en tant qu'authentification par jeton (bearer auth).

Pour permettre aux utilisateurs de fournir leur propre clé API Bedrock depuis l'interface utilisateur de LibreChat, définissez :

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_BEARER_TOKEN=user_provided

Les clés API Bedrock à court terme héritent des autorisations du principal AWS utilisé pour les générer, ne sont valides que dans la région AWS où elles ont été générées et expirent au plus tard après 12 heures ou à l'expiration de la session source. Les clés API Bedrock à long terme sont recommandées uniquement pour l'exploration et le développement. Consultez la documentation AWS pour utiliser les clés API Bedrock et générer des clés API Bedrock.

Identifiants Bedrock statiques

Utilisez des variables d'environnement statiques spécifiques à Bedrock uniquement lorsque les profils ou les rôles IAM ne sont pas adaptés :

BEDROCK_AWS_DEFAULT_REGION=us-east-1
BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id
BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key
# BEDROCK_AWS_SESSION_TOKEN=your_session_token

Si BEDROCK_AWS_ACCESS_KEY_ID et BEDROCK_AWS_SECRET_ACCESS_KEY sont définis, LibreChat les transmet directement au client Bedrock. Ils doivent être fournis ensemble et ils ont priorité sur BEDROCK_AWS_PROFILE ainsi que sur la chaîne de fournisseur par défaut du SDK pour Bedrock.

Si BEDROCK_AWS_BEARER_TOKEN est défini, LibreChat utilise l'authentification par jeton porteur (bearer auth) pour Bedrock au lieu des identifiants statiques, de BEDROCK_AWS_PROFILE ou de la chaîne de fournisseur par défaut du SDK.

Pour plus de détails sur le comportement des identifiants AWS, consultez la chaîne de fournisseurs d'identifiants du SDK AWS pour JavaScript, la référence des paramètres des SDK et outils AWS, et les notes de sécurité sur credential_process d'AWS.

Configuration des modèles

  • Vous pouvez éventuellement spécifier quels modèles vous souhaitez rendre disponibles avec BEDROCK_AWS_MODELS :
BEDROCK_AWS_MODELS=anthropic.claude-fable-5,anthropic.claude-opus-4-8,anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,meta.llama3-1-8b-instruct-v1:0

Remarque : Si omis, tous les IDs de modèles connus et pris en charge seront inclus automatiquement.

  • Les modèles de classe Fable/Mythos de Claude sur Bedrock sont uniquement destinés aux profils d'inférence. Utilisez un ID de profil tel que us.anthropic.claude-fable-5 et activez le partage de données Anthropic dans la console Bedrock ou via l'API Data Retention avant de les invoquer.

  • Consultez tous les ID de modèle Bedrock ici :

Configuration supplémentaire

Vous pouvez configurer davantage l'endpoint Bedrock dans votre fichier librechat.yaml :

endpoints:
  bedrock:
    availableRegions:
      - 'us-east-1'
      - 'us-west-2'
    streamRate: 35
    titleModel: 'anthropic.claude-3-haiku-20240307-v1:0'
    guardrailConfig:
      guardrailIdentifier: 'abc123xyz'
      guardrailVersion: '1'
      trace: 'enabled'
      streamProcessingMode: 'sync'
  • streamRate : (Optionnel) Définit la vitesse de traitement de chaque nouveau jeton (token) en millisecondes.

    • Cela peut aider à stabiliser le traitement des requêtes simultanées et à offrir un rendu de flux plus fluide sur l'interface utilisateur.
  • titleModel: (Optionnel) Spécifiez le modèle à utiliser pour générer les titres des conversations.

    • Recommandé : anthropic.claude-3-haiku-20240307-v1:0.
    • Omettez ou définissez sur current_model pour utiliser le même modèle que celui du chat.
  • availableRegions: (Optionnel) Spécifiez les régions AWS que vous souhaitez rendre disponibles.

    • S'ils sont fournis, les utilisateurs verront une liste déroulante pour sélectionner la région. Si aucune n'est sélectionnée, la région par défaut est utilisée.
    • image
  • guardrailConfig : (Optionnel) Configurez les Guardrails AWS Bedrock pour le filtrage de contenu.

    • guardrailIdentifier : L'ID ou l'ARN du guardrail depuis votre console AWS Bedrock.
    • guardrailVersion: Le numéro de version du guardrail (par ex. "1") ou "DRAFT".
    • trace : (Optionnel) Activer la journalisation des traces : "enabled", "disabled", ou "enabled_full".
    • streamProcessingMode : (Optionnel) Définit le mode de traitement du flux : "sync" ou "async" (par défaut "sync").
    • Consultez la documentation AWS Bedrock Guardrails pour créer et gérer des guardrails.

Profils d'inférence

Les profils d'inférence AWS Bedrock vous permettent de créer des configurations de routage personnalisées pour les modèles de base, facilitant ainsi l'équilibrage de charge inter-régions, l'allocation des coûts et les contrôles de conformité. Vous pouvez mapper les IDs de modèle aux ARN de profils d'inférence personnalisés dans votre librechat.yaml :

endpoints:
  bedrock:
    inferenceProfiles:
      'us.anthropic.claude-3-7-sonnet-20250219-v1:0': '${BEDROCK_CLAUDE_37_PROFILE}'

Pour le guide complet sur la création de profils, la configuration de LibreChat, la mise en place de la journalisation et le dépannage, consultez Bedrock Inference Profiles.

Pour la référence des champs YAML, consultez Structure de l'objet AWS Bedrock.

Téléchargements de documents

Bedrock prend en charge le téléchargement de documents directement vers le fournisseur via l'option Upload to Provider dans le menu déroulant des pièces jointes. Les documents sont envoyés à l'API Bedrock Converse en tant que pièces jointes natives.

Formats pris en charge : PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT et Markdown (.md)

Limitations :

  • Taille maximale de fichier par document : 4,5 Mo
  • Les noms de fichiers sont automatiquement nettoyés pour se conformer aux exigences de nommage de Bedrock (alphanumérique, espaces, tirets, parenthèses, crochets ; 200 caractères maximum)

Pour plus d'informations sur les options de téléchargement de fichiers, consultez la documentation OCR for Documents.

Notes

  • Les modèles suivants ne sont pas pris en charge en raison de l'absence de capacité de streaming :

    • ai21.j2-mid-v1
  • Les modèles suivants ne sont pas pris en charge en raison de l'absence de support de l'historique des conversations :

    • ai21.j2-ultra-v1
    • cohere.command-text-v14
    • cohere.command-light-text-v14
  • L'endpoint AWS Bedrock prend en charge tous les Shared Endpoint Settings via le fichier de configuration librechat.yaml, y compris streamRate, titleModel, titleMethod, titlePrompt, titlePromptTemplate et titleEndpoint.

Que pensez-vous de ce guide ?