API de projets - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API de projets

L'API Amazon Bedrock Projects fournit une isolation au niveau de l'application pour vos charges de travail génératives basées sur l'IA grâce à la compatibilité OpenAI. APIs Les projets vous permettent d'organiser et de gérer vos applications d'IA en améliorant le contrôle d'accès, le suivi des coûts et l'observabilité au sein de votre organisation.

Note

Les projets ne peuvent être utilisés qu'avec des modèles qui utilisent la compatibilité OpenAI APIs contre l'extrémité du manteau rocheux. Si vous utilisez le point de terminaison bedrock-runtime, veuillez utiliser des profils d'inférence au lieu du balisage et de l'observabilité.

Qu'est-ce qu'un projet ?

Un projet est une limite logique utilisée pour isoler les charges de travail telles que les applications, les environnements ou les expériences au sein d'Amazon Bedrock. Les projets fournissent :

Les projets vous permettent de gérer plusieurs charges de travail d'IA générative en production sans créer de comptes ou d'organisations AWS distincts, ce qui réduit la complexité opérationnelle tout en préservant la sécurité et la gouvernance.

Chaque compte AWS possède un projet par défaut auquel toutes les demandes d'inférence sont associées. Vous pouvez créer d'autres projets dans votre compte à l'aide de l'API Projects.

Quand utiliser les projets

Vous devez utiliser l'API Projects lorsque vous devez :

  • Organiser par structure d'entreprise : gérez l'utilisation de Bedrock en fonction de votre taxonomie organisationnelle, telle que les unités commerciales, les équipes, les applications ou les centres de coûts

  • Isolez les données sensibles : assurez-vous que les invites, les réponses et les données contextuelles d'une application ne sont pas accessibles aux autres applications

  • Suivez les coûts avec précision : surveillez et répartissez les dépenses liées à l'IA entre des équipes, des projets ou des environnements spécifiques

  • Appliquer les politiques d'accès : appliquez des autorisations IAM granulaires pour contrôler qui peut accéder à des charges de travail d'IA spécifiques

  • Augmentez les charges de travail de production : exécutez plusieurs applications de production avec des limites opérationnelles et une surveillance claires

Projets et profils d'inférence

L'API Projects et les profils d'inférence fournissent des fonctionnalités d'isolation, de balisage et de contrôle d'accès dans Amazon Bedrock, mais elles diffèrent en fonction de l'API que vous utilisez. Si vous utilisez OpenAI compatible APIs avec le point de terminaison Bedrock-mantle, qui utilise le moteur d'inférence Mantle, utilisez l'API Projects. Si vous utilisez Invoke ou Converse APIs avec le point de terminaison bedrock-runtime, utilisez des profils d'inférence. Bien que vous puissiez utiliser l'API Chat Completions avec les points de terminaison bedrock-mantle ou bedrock-runtime, nous vous recommandons d'utiliser le point de terminaison Mantle.

Fonctionnalité API de projets Profils d'inférence
Soutenu APIs Compatible avec OpenAI APIs (réponses, terminaisons de chat) Native Bedrock APIs (Invoke, Converse), API compatible avec OpenAI (terminaisons de chat)
Endpoint bedrock-mantle.{region}.api.aws bedrock-runtime.{region}.amazonaws.com
Cas d’utilisation Applications utilisant des points de terminaison compatibles avec OpenAI Applications utilisant le logiciel natif Bedrock APIs
Contrôle d’accès Le projet en tant que ressource dans les politiques IAM Politiques IAM relatives au profil d'inférence (ARN)
Suivi des coûts Balises AWS sur les projets Balises AWS sur les profils d'inférence

Projets et comptes AWS

Les comptes AWS et les organisations AWS représentent les limites de facturation et de propriété au niveau de l'infrastructure. Les projets représentent la charge de travail et les limites des applications au sein d'un seul compte.

L'utilisation de projets au lieu de comptes AWS distincts permet de :

  • Configuration plus rapide : créez des projets en quelques secondes via des appels d'API

  • Complexité réduite : gérez plusieurs charges de travail sans augmenter le nombre de comptes

  • Opérations simplifiées : gestion centralisée au sein d'un seul compte

  • Réduction des frais généraux : pas besoin de rôles IAM entre comptes ni de partage de ressources

Commencer à utiliser des projets

Cette page explique comment créer votre premier projet, l'associer à des demandes d'inférence et gérer les ressources du projet.

Conditions préalables

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un compte AWS avec accès à Amazon Bedrock

  • Autorisations IAM pour créer et gérer des projets Bedrock

  • Python 3.7 ou version ultérieure installé

  • Le SDK Python OpenAI installé : pip install openai boto3

  • Une clé d'API pour l'authentification Amazon Bedrock

Étape 1 : Configuration de votre environnement

Configurez vos variables d'environnement avec vos informations d'identification Amazon Bedrock :

export OPENAI_API_KEY="<your-bedrock-key>" export OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1"

<your-region>Remplacez-le par votre région AWS (par exemple, us-east-1, us-west-2).

Note

Amazon Bedrock propose deux types de clés : à court terme et à long terme. Bien que vous puissiez utiliser des clés d'API à long terme pour explorer Amazon Bedrock, nous recommandons des clés à court terme pour les applications présentant des exigences de sécurité plus strictes. Si vous utilisez des clés à long terme avec des projets, notez que la politique par défaut associée aux clés à long terme vous permet uniquement d'obtenir et de répertorier des projets, mais pas de create/update/archive les répertorier. Si vous souhaitez utiliser votre clé à long terme pour gérer des projets, vous devrez attribuer des politiques IAM supplémentaires à vos clés pour permettre ces opérations.

Étape 2 : Découvrez les modèles disponibles

Utilisez l'list()API pour récupérer une liste de modèles compatibles avec l'API Projects :

curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

Étape 3 : Créez votre premier projet

Créez un projet à l'aide de l'API Create Project avec des balises pour le suivi des coûts et l'observabilité. Notez qu'à l'heure actuelle, seul cURL est pris en charge dans le SDK.

curl -X POST $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Project ABC", "tags": { "Project": "CustomerChatbot", "Environment": "Production", "Owner": "TeamAlpha", "CostCenter": "21524" } }' -v

Réponse :

{ "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_5d5ykleja6cwpirysbb7", "created_at": 1772135628, "id": "proj_5d5ykleja6cwpirysbb7", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": { "Owner": "TeamAlpha", "Project": "CustomerChatbot", "Environment": "Production", "CostCenter": "21524" } }

Remarques importantes :

  • Le paramètre géographique de la spécification de l'API OpenAI est ignoré par Amazon Bedrock.

  • La région est déterminée par la configuration de votre point de terminaison.

  • Le champ arn est spécifique à Amazon Bedrock et fournit l'ARN pour l'attachement à la politique IAM.

  • Les balises peuvent être spécifiées lors de la création du projet et sont renvoyées dans toutes les réponses du projet.

Étape 4 : Associez les demandes d'inférence à votre projet

Pour associer votre projet aux demandes d'inférence, fournissez l'ID du projet lors de la création du client :

cURL
curl -X POST $OPENAI_BASE_URL/responses \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -H "OpenAI-Project: proj_5d5ykleja6cwpirysbb7" \ -d '{ "model": "openai.gpt-oss-120b", "input": "Explain the benefits of using projects in Amazon Bedrock" }'
Python
from openai import OpenAI client = OpenAI(project="proj_5d5ykleja6cwpirysbb7")

Toutes les demandes d'inférence faites auprès de ce client seront associées au projet spécifié, garantissant ainsi une isolation, un suivi des coûts et un contrôle d'accès appropriés.

Étape 5 : Vérifiez la configuration de votre projet

Répertoriez tous les projets pour vérifier que votre projet a été créé avec succès :

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Réponse :

{ "data": [ { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/default", "created_at": 1764460800, "id": "default", "name": "default", "object": "organization.project", "status": "active", "tags": {} }, { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_2z766pfxmkij5vwubv75", "created_at": 1771823259, "id": "proj_2z766pfxmkij5vwubv75", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": {} } ], "first_id": "default", "has_more": false, "last_id": "proj_znaruqn723npmjqnxqfd", "object": "list" }

Étapes suivantes

Maintenant que vous avez créé votre premier projet, vous pouvez :

  • Configuration du contrôle d'accès : associez des politiques IAM pour restreindre l'accès au projet

  • Configurer le suivi des coûts : ajouter des balises AWS pour la répartition des coûts

  • Activer la surveillance : configurer les CloudWatch métriques et les alarmes

  • Création de projets supplémentaires : organisez les charges de travail par équipe, environnement ou application

Utilisation des projets

Cette page fournit des informations détaillées sur la gestion des projets tout au long de leur cycle de vie.

Création de projets

Création de projet de base

Créez un projet avec un nom, une description et des balises :

curl -X POST $OPENAI_BASE_URL/v1/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Development Environment", "tags": { "Project": "InternalTools", "Environment": "Development", "Owner": "TeamAlpha", "CostCenter": "30156" } }'

Vous pouvez avoir jusqu'à 1 000 projets par compte.

Conventions de dénomination recommandées

Utilisez des noms clairs et descriptifs qui reflètent la structure de votre organisation :

  • Par application : CustomerChatbot -Prod, -Dev InternalSearch

  • Par équipe : TeamAlpha -Production, -Experiments DataScience

  • Par environnement : Production-WebApp, Staging- MobileApp

  • Par centre de coûts : CostCenter -2152-Production

Lister des projets

Liste de tous les projets

Retrouvez tous les projets de votre compte :

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Récupération des détails du projet

Obtenez des informations détaillées sur un projet spécifique :

curl -X GET $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY"

Mettre à jour des projets

Modifiez les propriétés du projet, telles que le nom :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Production Chatbot v2" }'

Gestion des balises de projet

Ajoutez de nouvelles balises ou mettez à jour les valeurs des balises existantes :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "add_tags": { "Application": "WebApp", "Version": "2.0", "Team": "Engineering" } }'

Supprimez des tags spécifiques à l'aide de leurs clés :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "remove_tag_keys": ["Version", "OldTagKey"] }'
Remarques importantes
  • Aucun remplacement complet : aucune opération ne permet de remplacer l'ensemble complet d'étiquettes en une seule fois. Vous devez spécifier de manière explicite les balises à ajouter et celles à supprimer.

  • Gestion des erreurs : mise en œuvre d'une gestion et d'une vérification appropriées des erreurs

Projets d'archivage

Archivez les projets qui ne sont plus utilisés :

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_abc123/archive \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json"
Important

Les projets archivés ne peuvent pas être utilisés pour de nouvelles demandes d'inférence, mais les données historiques et les indicateurs restent accessibles pendant 30 jours au maximum.

Utiliser des projets avec différents APIs

Responses API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.responses.create( model="openai.gpt-oss-120b", input="What are the key features of Amazon Bedrock?" ) print(response)
Chat Completions API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.chat.completions.create( model="openai.gpt-oss-120b", messages=[ {"role": "user", "content": "Explain how projects improve security"} ] ) print(response.choices[0].message.content)

Bonnes pratiques

Un projet par application : créez des projets distincts pour chaque application ou service distinct.

├── CustomerChatbot-Production ├── CustomerChatbot-Staging ├── CustomerChatbot-Development ├── InternalSearch-Production └── InternalSearch-Development
  • Environnements distincts : utilisez différents projets pour les environnements de développement, de préparation et de production.

  • Isolation des expériences : créez des projets dédiés aux expériences et proof-of-concepts.

Gestion du cycle de vie des projets

  • Créez des projets à un stade précoce : configurez des projets avant de déployer des applications

  • Utilisez une dénomination cohérente : respectez les conventions de dénomination de l'organisation

  • Documenter l'objectif du projet : inclure des descriptions claires

  • Audits réguliers : examiner et archiver périodiquement les projets non utilisés

  • Surveiller l'utilisation : suivre les indicateurs du projet pour identifier les opportunités d'optimisation